diff options
author | Russ Cox <rsc@swtch.com> | 2018-11-15 20:22:59 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2018-11-15 20:39:35 -0500 |
commit | 8581c2b56763d7787604c8c833d2bd78bdc6a466 (patch) | |
tree | 921221af510ad74a89731d9d9cb308e375039f06 /include | |
parent | 9af9ceca26596d562a3ae89fda70bad9f8822ab0 (diff) | |
download | plan9port-8581c2b56763d7787604c8c833d2bd78bdc6a466.tar.gz plan9port-8581c2b56763d7787604c8c833d2bd78bdc6a466.tar.bz2 plan9port-8581c2b56763d7787604c8c833d2bd78bdc6a466.zip |
libdraw: add Cursor2, a 32x32 high-res cursor
Also add setcursor2, esetcursor2, and draw protocol encoding.
Calls to the old setcursor, esetcursor create a 32x32 by
pixel doubling when needed.
Diffstat (limited to 'include')
-rw-r--r-- | include/cursor.h | 10 | ||||
-rw-r--r-- | include/draw.h | 3 | ||||
-rw-r--r-- | include/drawfcall.h | 6 | ||||
-rw-r--r-- | include/event.h | 2 | ||||
-rw-r--r-- | include/mouse.h | 2 |
5 files changed, 22 insertions, 1 deletions
diff --git a/include/cursor.h b/include/cursor.h index d53baf81..e39d2ea5 100644 --- a/include/cursor.h +++ b/include/cursor.h @@ -12,6 +12,16 @@ struct Cursor uchar set[2*16]; }; +typedef struct Cursor2 Cursor2; +struct Cursor2 +{ + Point offset; + uchar clr[4*32]; + uchar set[4*32]; +}; + +void scalecursor(Cursor2*, Cursor*); + #if defined(__cplusplus) } #endif diff --git a/include/draw.h b/include/draw.h index 3a012959..2f283bdf 100644 --- a/include/draw.h +++ b/include/draw.h @@ -568,9 +568,10 @@ int mousescrollsize(int); */ struct Mouse; struct Cursor; +struct Cursor2; int _displaybouncemouse(Display *d, struct Mouse *m); int _displayconnect(Display *d); -int _displaycursor(Display *d, struct Cursor *c); +int _displaycursor(Display *d, struct Cursor *c, struct Cursor2 *c2); int _displayinit(Display *d, char *label, char *winsize); int _displaylabel(Display *d, char *label); int _displaymoveto(Display *d, Point p); diff --git a/include/drawfcall.h b/include/drawfcall.h index fb339919..acab98c5 100644 --- a/include/drawfcall.h +++ b/include/drawfcall.h @@ -13,6 +13,9 @@ tag[1] Rmoveto tag[1] Tcursor cursor[] tag[1] Rcursor +tag[1] Tcursor2 cursor[] +tag[1] Rcursor2 + tag[1] Tbouncemouse x[4] y[4] button[4] tag[1] Rbouncemouse @@ -89,6 +92,8 @@ enum { Rtop, Tresize = 26, Rresize, + Tcursor2 = 28, + Rcursor2, Tmax, }; @@ -104,6 +109,7 @@ struct Wsysmsg Mouse mouse; int resized; Cursor cursor; + Cursor2 cursor2; int arrowcursor; Rune rune; char *winsize; diff --git a/include/event.h b/include/event.h index 09cb5c78..e66bf117 100644 --- a/include/event.h +++ b/include/event.h @@ -61,7 +61,9 @@ extern int emenuhit(int, Mouse*, Menu*); extern int eatomouse(Mouse*, char*, int); extern Rectangle getrect(int, Mouse*); struct Cursor; +struct Cursor2; extern void esetcursor(struct Cursor*); +extern void esetcursor2(struct Cursor*, struct Cursor2*); extern void emoveto(Point); extern Rectangle egetrect(int, Mouse*); extern void edrawgetrect(Rectangle, int); diff --git a/include/mouse.h b/include/mouse.h index 3d5c975f..c46d51e9 100644 --- a/include/mouse.h +++ b/include/mouse.h @@ -38,7 +38,9 @@ extern void moveto(Mousectl*, Point); extern int readmouse(Mousectl*); extern void closemouse(Mousectl*); struct Cursor; +struct Cursor2; extern void setcursor(Mousectl*, struct Cursor*); +extern void setcursor2(Mousectl*, struct Cursor*, struct Cursor2*); extern void drawgetrect(Rectangle, int); extern Rectangle getrect(int, Mousectl*); extern int menuhit(int, Mousectl*, Menu*, Screen*); |