Blame


1 9801d5e5 2006-06-26 devnull /* Copyright (c) 2006 Russ Cox */
2 9801d5e5 2006-06-26 devnull
3 9801d5e5 2006-06-26 devnull /*
4 9801d5e5 2006-06-26 devnull
5 9801d5e5 2006-06-26 devnull tag[1] Rerror error[s]
6 9801d5e5 2006-06-26 devnull
7 9801d5e5 2006-06-26 devnull tag[1] Trdmouse
8 9801d5e5 2006-06-26 devnull tag[1] Rrdmouse x[4] y[4] button[4] msec[4] resized[1]
9 9801d5e5 2006-06-26 devnull
10 9801d5e5 2006-06-26 devnull tag[1] Tmoveto x[4] y[4]
11 9801d5e5 2006-06-26 devnull tag[1] Rmoveto
12 9801d5e5 2006-06-26 devnull
13 9801d5e5 2006-06-26 devnull tag[1] Tcursor cursor[]
14 9801d5e5 2006-06-26 devnull tag[1] Rcursor
15 9801d5e5 2006-06-26 devnull
16 8581c2b5 2018-11-16 rsc tag[1] Tcursor2 cursor[]
17 8581c2b5 2018-11-16 rsc tag[1] Rcursor2
18 8581c2b5 2018-11-16 rsc
19 9801d5e5 2006-06-26 devnull tag[1] Tbouncemouse x[4] y[4] button[4]
20 9801d5e5 2006-06-26 devnull tag[1] Rbouncemouse
21 9801d5e5 2006-06-26 devnull
22 9801d5e5 2006-06-26 devnull tag[1] Trdkbd
23 9801d5e5 2006-06-26 devnull tag[1] Rrdkbd rune[2]
24 9801d5e5 2006-06-26 devnull
25 9801d5e5 2006-06-26 devnull tag[1] Tlabel label[s]
26 9801d5e5 2006-06-26 devnull tag[1] Rlabel
27 9801d5e5 2006-06-26 devnull
28 dbf57689 2020-01-13 rsc tag[1] Tctxt wsysid[s]
29 dbf57689 2020-01-13 rsc tag[1] Rctxt
30 dbf57689 2020-01-13 rsc
31 9801d5e5 2006-06-26 devnull tag[1] Tinit winsize[s] label[s] font[s]
32 9801d5e5 2006-06-26 devnull tag[1] Rinit
33 9801d5e5 2006-06-26 devnull
34 9801d5e5 2006-06-26 devnull tag[1] Trdsnarf
35 9801d5e5 2006-06-26 devnull tag[1] Rrdsnarf snarf[s]
36 9801d5e5 2006-06-26 devnull
37 9801d5e5 2006-06-26 devnull tag[1] Twrsnarf snarf[s]
38 9801d5e5 2006-06-26 devnull tag[1] Rwrsnarf
39 9801d5e5 2006-06-26 devnull
40 9801d5e5 2006-06-26 devnull tag[1] Trddraw count[4]
41 9801d5e5 2006-06-26 devnull tag[1] Rrddraw count[4] data[count]
42 9801d5e5 2006-06-26 devnull
43 9801d5e5 2006-06-26 devnull tag[1] Twrdraw count[4] data[count]
44 9801d5e5 2006-06-26 devnull tag[1] Rwrdraw count[4]
45 9801d5e5 2006-06-26 devnull
46 9801d5e5 2006-06-26 devnull tag[1] Ttop
47 9801d5e5 2006-06-26 devnull tag[1] Rtop
48 9801d5e5 2006-06-26 devnull
49 9801d5e5 2006-06-26 devnull tag[1] Tresize rect[4*4]
50 9801d5e5 2006-06-26 devnull tag[1] Rresize
51 9801d5e5 2006-06-26 devnull */
52 9801d5e5 2006-06-26 devnull
53 9801d5e5 2006-06-26 devnull
54 9801d5e5 2006-06-26 devnull #define PUT(p, x) \
55 9801d5e5 2006-06-26 devnull (p)[0] = ((x) >> 24)&0xFF, \
56 9801d5e5 2006-06-26 devnull (p)[1] = ((x) >> 16)&0xFF, \
57 9801d5e5 2006-06-26 devnull (p)[2] = ((x) >> 8)&0xFF, \
58 9801d5e5 2006-06-26 devnull (p)[3] = (x)&0xFF
59 9801d5e5 2006-06-26 devnull
60 9801d5e5 2006-06-26 devnull #define GET(p, x) \
61 9a5678a8 2006-11-04 devnull ((x) = (u32int)(((p)[0] << 24) | ((p)[1] << 16) | ((p)[2] << 8) | ((p)[3])))
62 9801d5e5 2006-06-26 devnull
63 9801d5e5 2006-06-26 devnull #define PUT2(p, x) \
64 9801d5e5 2006-06-26 devnull (p)[0] = ((x) >> 8)&0xFF, \
65 9801d5e5 2006-06-26 devnull (p)[1] = (x)&0xFF
66 9801d5e5 2006-06-26 devnull
67 9801d5e5 2006-06-26 devnull #define GET2(p, x) \
68 9801d5e5 2006-06-26 devnull ((x) = (((p)[0] << 8) | ((p)[1])))
69 9801d5e5 2006-06-26 devnull
70 9801d5e5 2006-06-26 devnull enum {
71 9801d5e5 2006-06-26 devnull Rerror = 1,
72 9801d5e5 2006-06-26 devnull Trdmouse = 2,
73 9801d5e5 2006-06-26 devnull Rrdmouse,
74 9801d5e5 2006-06-26 devnull Tmoveto = 4,
75 9801d5e5 2006-06-26 devnull Rmoveto,
76 9801d5e5 2006-06-26 devnull Tcursor = 6,
77 9801d5e5 2006-06-26 devnull Rcursor,
78 9801d5e5 2006-06-26 devnull Tbouncemouse = 8,
79 9801d5e5 2006-06-26 devnull Rbouncemouse,
80 9801d5e5 2006-06-26 devnull Trdkbd = 10,
81 9801d5e5 2006-06-26 devnull Rrdkbd,
82 9801d5e5 2006-06-26 devnull Tlabel = 12,
83 9801d5e5 2006-06-26 devnull Rlabel,
84 9801d5e5 2006-06-26 devnull Tinit = 14,
85 9801d5e5 2006-06-26 devnull Rinit,
86 9801d5e5 2006-06-26 devnull Trdsnarf = 16,
87 9801d5e5 2006-06-26 devnull Rrdsnarf,
88 9801d5e5 2006-06-26 devnull Twrsnarf = 18,
89 9801d5e5 2006-06-26 devnull Rwrsnarf,
90 9801d5e5 2006-06-26 devnull Trddraw = 20,
91 9801d5e5 2006-06-26 devnull Rrddraw,
92 9801d5e5 2006-06-26 devnull Twrdraw = 22,
93 9801d5e5 2006-06-26 devnull Rwrdraw,
94 9801d5e5 2006-06-26 devnull Ttop = 24,
95 9801d5e5 2006-06-26 devnull Rtop,
96 9801d5e5 2006-06-26 devnull Tresize = 26,
97 9801d5e5 2006-06-26 devnull Rresize,
98 8581c2b5 2018-11-16 rsc Tcursor2 = 28,
99 8581c2b5 2018-11-16 rsc Rcursor2,
100 dbf57689 2020-01-13 rsc Tctxt = 30,
101 dbf57689 2020-01-13 rsc Rctxt,
102 9801d5e5 2006-06-26 devnull Tmax,
103 9801d5e5 2006-06-26 devnull };
104 9801d5e5 2006-06-26 devnull
105 9801d5e5 2006-06-26 devnull enum {
106 9801d5e5 2006-06-26 devnull MAXWMSG = 4*1024*1024
107 9801d5e5 2006-06-26 devnull };
108 9801d5e5 2006-06-26 devnull
109 9801d5e5 2006-06-26 devnull typedef struct Wsysmsg Wsysmsg;
110 9801d5e5 2006-06-26 devnull struct Wsysmsg
111 9801d5e5 2006-06-26 devnull {
112 9801d5e5 2006-06-26 devnull uchar type;
113 9801d5e5 2006-06-26 devnull uchar tag;
114 9801d5e5 2006-06-26 devnull Mouse mouse;
115 9801d5e5 2006-06-26 devnull int resized;
116 9801d5e5 2006-06-26 devnull Cursor cursor;
117 8581c2b5 2018-11-16 rsc Cursor2 cursor2;
118 9801d5e5 2006-06-26 devnull int arrowcursor;
119 9801d5e5 2006-06-26 devnull Rune rune;
120 9801d5e5 2006-06-26 devnull char *winsize;
121 9801d5e5 2006-06-26 devnull char *label;
122 9801d5e5 2006-06-26 devnull char *snarf;
123 9801d5e5 2006-06-26 devnull char *error;
124 dbf57689 2020-01-13 rsc char *id;
125 9801d5e5 2006-06-26 devnull uchar *data;
126 9801d5e5 2006-06-26 devnull uint count;
127 9801d5e5 2006-06-26 devnull Rectangle rect;
128 9801d5e5 2006-06-26 devnull };
129 9801d5e5 2006-06-26 devnull
130 9801d5e5 2006-06-26 devnull uint convW2M(Wsysmsg*, uchar*, uint);
131 9801d5e5 2006-06-26 devnull uint convM2W(uchar*, uint, Wsysmsg*);
132 9801d5e5 2006-06-26 devnull uint sizeW2M(Wsysmsg*);
133 9801d5e5 2006-06-26 devnull int readwsysmsg(int, uchar*, uint);
134 9801d5e5 2006-06-26 devnull
135 9801d5e5 2006-06-26 devnull int drawfcallfmt(Fmt*);