Blame


1 257fb626 2006-06-25 devnull #include <u.h>
2 257fb626 2006-06-25 devnull #include <libc.h>
3 257fb626 2006-06-25 devnull #include <draw.h>
4 257fb626 2006-06-25 devnull #include <mouse.h>
5 257fb626 2006-06-25 devnull #include <cursor.h>
6 257fb626 2006-06-25 devnull #include <drawfcall.h>
7 257fb626 2006-06-25 devnull
8 257fb626 2006-06-25 devnull static int
9 257fb626 2006-06-25 devnull _stringsize(char *s)
10 257fb626 2006-06-25 devnull {
11 150f8802 2006-06-25 devnull if(s == nil)
12 150f8802 2006-06-25 devnull s = "";
13 257fb626 2006-06-25 devnull return 4+strlen(s);
14 257fb626 2006-06-25 devnull }
15 257fb626 2006-06-25 devnull
16 257fb626 2006-06-25 devnull static int
17 257fb626 2006-06-25 devnull PUTSTRING(uchar *p, char *s)
18 257fb626 2006-06-25 devnull {
19 257fb626 2006-06-25 devnull int n;
20 fa325e9b 2020-01-10 cross
21 257fb626 2006-06-25 devnull if(s == nil)
22 257fb626 2006-06-25 devnull s = "";
23 257fb626 2006-06-25 devnull n = strlen(s);
24 257fb626 2006-06-25 devnull PUT(p, n);
25 257fb626 2006-06-25 devnull memmove(p+4, s, n);
26 257fb626 2006-06-25 devnull return n+4;
27 257fb626 2006-06-25 devnull }
28 257fb626 2006-06-25 devnull
29 257fb626 2006-06-25 devnull static int
30 257fb626 2006-06-25 devnull GETSTRING(uchar *p, char **s)
31 257fb626 2006-06-25 devnull {
32 257fb626 2006-06-25 devnull int n;
33 fa325e9b 2020-01-10 cross
34 257fb626 2006-06-25 devnull GET(p, n);
35 257fb626 2006-06-25 devnull memmove(p, p+4, n);
36 257fb626 2006-06-25 devnull *s = (char*)p;
37 257fb626 2006-06-25 devnull p[n] = 0;
38 257fb626 2006-06-25 devnull return n+4;
39 257fb626 2006-06-25 devnull }
40 fa325e9b 2020-01-10 cross
41 257fb626 2006-06-25 devnull uint
42 257fb626 2006-06-25 devnull sizeW2M(Wsysmsg *m)
43 257fb626 2006-06-25 devnull {
44 257fb626 2006-06-25 devnull switch(m->type){
45 257fb626 2006-06-25 devnull default:
46 257fb626 2006-06-25 devnull return 0;
47 257fb626 2006-06-25 devnull case Trdmouse:
48 257fb626 2006-06-25 devnull case Rbouncemouse:
49 257fb626 2006-06-25 devnull case Rmoveto:
50 257fb626 2006-06-25 devnull case Rcursor:
51 7bb69ba8 2019-04-05 rsc case Rcursor2:
52 257fb626 2006-06-25 devnull case Trdkbd:
53 d25d0ca1 2020-05-19 rsc case Trdkbd4:
54 257fb626 2006-06-25 devnull case Rlabel:
55 dbf57689 2020-01-13 rsc case Rctxt:
56 257fb626 2006-06-25 devnull case Rinit:
57 257fb626 2006-06-25 devnull case Trdsnarf:
58 257fb626 2006-06-25 devnull case Rwrsnarf:
59 257fb626 2006-06-25 devnull case Ttop:
60 257fb626 2006-06-25 devnull case Rtop:
61 257fb626 2006-06-25 devnull case Rresize:
62 257fb626 2006-06-25 devnull return 4+1+1;
63 257fb626 2006-06-25 devnull case Rrdmouse:
64 257fb626 2006-06-25 devnull return 4+1+1+4+4+4+4+1;
65 257fb626 2006-06-25 devnull case Tbouncemouse:
66 257fb626 2006-06-25 devnull return 4+1+1+4+4+4;
67 257fb626 2006-06-25 devnull case Tmoveto:
68 257fb626 2006-06-25 devnull return 4+1+1+4+4;
69 257fb626 2006-06-25 devnull case Tcursor:
70 7bb69ba8 2019-04-05 rsc return 4+1+1+4+4+2*16+2*16+1;
71 7bb69ba8 2019-04-05 rsc case Tcursor2:
72 8581c2b5 2018-11-16 rsc return 4+1+1+4+4+2*16+2*16+4+4+4*32+4*32+1;
73 257fb626 2006-06-25 devnull case Rerror:
74 257fb626 2006-06-25 devnull return 4+1+1+_stringsize(m->error);
75 257fb626 2006-06-25 devnull case Rrdkbd:
76 257fb626 2006-06-25 devnull return 4+1+1+2;
77 d25d0ca1 2020-05-19 rsc case Rrdkbd4:
78 d25d0ca1 2020-05-19 rsc return 4+1+1+4;
79 257fb626 2006-06-25 devnull case Tlabel:
80 257fb626 2006-06-25 devnull return 4+1+1+_stringsize(m->label);
81 dbf57689 2020-01-13 rsc case Tctxt:
82 dbf57689 2020-01-13 rsc return 4+1+1
83 dbf57689 2020-01-13 rsc +_stringsize(m->id);
84 257fb626 2006-06-25 devnull case Tinit:
85 257fb626 2006-06-25 devnull return 4+1+1
86 257fb626 2006-06-25 devnull +_stringsize(m->winsize)
87 257fb626 2006-06-25 devnull +_stringsize(m->label);
88 257fb626 2006-06-25 devnull case Rrdsnarf:
89 257fb626 2006-06-25 devnull case Twrsnarf:
90 257fb626 2006-06-25 devnull return 4+1+1+_stringsize(m->snarf);
91 257fb626 2006-06-25 devnull case Rrddraw:
92 257fb626 2006-06-25 devnull case Twrdraw:
93 257fb626 2006-06-25 devnull return 4+1+1+4+m->count;
94 257fb626 2006-06-25 devnull case Trddraw:
95 257fb626 2006-06-25 devnull case Rwrdraw:
96 257fb626 2006-06-25 devnull return 4+1+1+4;
97 257fb626 2006-06-25 devnull case Tresize:
98 257fb626 2006-06-25 devnull return 4+1+1+4*4;
99 257fb626 2006-06-25 devnull }
100 257fb626 2006-06-25 devnull }
101 257fb626 2006-06-25 devnull
102 257fb626 2006-06-25 devnull uint
103 257fb626 2006-06-25 devnull convW2M(Wsysmsg *m, uchar *p, uint n)
104 257fb626 2006-06-25 devnull {
105 257fb626 2006-06-25 devnull int nn;
106 fa325e9b 2020-01-10 cross
107 257fb626 2006-06-25 devnull nn = sizeW2M(m);
108 257fb626 2006-06-25 devnull if(n < nn || nn == 0 || n < 6)
109 257fb626 2006-06-25 devnull return 0;
110 257fb626 2006-06-25 devnull PUT(p, nn);
111 257fb626 2006-06-25 devnull p[4] = m->tag;
112 257fb626 2006-06-25 devnull p[5] = m->type;
113 257fb626 2006-06-25 devnull
114 257fb626 2006-06-25 devnull switch(m->type){
115 257fb626 2006-06-25 devnull default:
116 257fb626 2006-06-25 devnull return 0;
117 257fb626 2006-06-25 devnull case Trdmouse:
118 257fb626 2006-06-25 devnull case Rbouncemouse:
119 257fb626 2006-06-25 devnull case Rmoveto:
120 257fb626 2006-06-25 devnull case Rcursor:
121 7bb69ba8 2019-04-05 rsc case Rcursor2:
122 257fb626 2006-06-25 devnull case Trdkbd:
123 d25d0ca1 2020-05-19 rsc case Trdkbd4:
124 257fb626 2006-06-25 devnull case Rlabel:
125 dbf57689 2020-01-13 rsc case Rctxt:
126 257fb626 2006-06-25 devnull case Rinit:
127 257fb626 2006-06-25 devnull case Trdsnarf:
128 257fb626 2006-06-25 devnull case Rwrsnarf:
129 257fb626 2006-06-25 devnull case Ttop:
130 257fb626 2006-06-25 devnull case Rtop:
131 257fb626 2006-06-25 devnull case Rresize:
132 257fb626 2006-06-25 devnull break;
133 257fb626 2006-06-25 devnull case Rerror:
134 257fb626 2006-06-25 devnull PUTSTRING(p+6, m->error);
135 257fb626 2006-06-25 devnull break;
136 257fb626 2006-06-25 devnull case Rrdmouse:
137 257fb626 2006-06-25 devnull PUT(p+6, m->mouse.xy.x);
138 257fb626 2006-06-25 devnull PUT(p+10, m->mouse.xy.y);
139 257fb626 2006-06-25 devnull PUT(p+14, m->mouse.buttons);
140 257fb626 2006-06-25 devnull PUT(p+18, m->mouse.msec);
141 257fb626 2006-06-25 devnull p[19] = m->resized;
142 257fb626 2006-06-25 devnull break;
143 257fb626 2006-06-25 devnull case Tbouncemouse:
144 257fb626 2006-06-25 devnull PUT(p+6, m->mouse.xy.x);
145 257fb626 2006-06-25 devnull PUT(p+10, m->mouse.xy.y);
146 257fb626 2006-06-25 devnull PUT(p+14, m->mouse.buttons);
147 257fb626 2006-06-25 devnull break;
148 257fb626 2006-06-25 devnull case Tmoveto:
149 257fb626 2006-06-25 devnull PUT(p+6, m->mouse.xy.x);
150 257fb626 2006-06-25 devnull PUT(p+10, m->mouse.xy.y);
151 257fb626 2006-06-25 devnull break;
152 257fb626 2006-06-25 devnull case Tcursor:
153 257fb626 2006-06-25 devnull PUT(p+6, m->cursor.offset.x);
154 257fb626 2006-06-25 devnull PUT(p+10, m->cursor.offset.y);
155 257fb626 2006-06-25 devnull memmove(p+14, m->cursor.clr, sizeof m->cursor.clr);
156 257fb626 2006-06-25 devnull memmove(p+46, m->cursor.set, sizeof m->cursor.set);
157 7bb69ba8 2019-04-05 rsc p[78] = m->arrowcursor;
158 7bb69ba8 2019-04-05 rsc break;
159 7bb69ba8 2019-04-05 rsc case Tcursor2:
160 7bb69ba8 2019-04-05 rsc PUT(p+6, m->cursor.offset.x);
161 7bb69ba8 2019-04-05 rsc PUT(p+10, m->cursor.offset.y);
162 7bb69ba8 2019-04-05 rsc memmove(p+14, m->cursor.clr, sizeof m->cursor.clr);
163 7bb69ba8 2019-04-05 rsc memmove(p+46, m->cursor.set, sizeof m->cursor.set);
164 8581c2b5 2018-11-16 rsc PUT(p+78, m->cursor2.offset.x);
165 8581c2b5 2018-11-16 rsc PUT(p+82, m->cursor2.offset.y);
166 8581c2b5 2018-11-16 rsc memmove(p+86, m->cursor2.clr, sizeof m->cursor2.clr);
167 8581c2b5 2018-11-16 rsc memmove(p+214, m->cursor2.set, sizeof m->cursor2.set);
168 8581c2b5 2018-11-16 rsc p[342] = m->arrowcursor;
169 257fb626 2006-06-25 devnull break;
170 257fb626 2006-06-25 devnull case Rrdkbd:
171 257fb626 2006-06-25 devnull PUT2(p+6, m->rune);
172 257fb626 2006-06-25 devnull break;
173 d25d0ca1 2020-05-19 rsc case Rrdkbd4:
174 d25d0ca1 2020-05-19 rsc PUT(p+6, m->rune);
175 d25d0ca1 2020-05-19 rsc break;
176 257fb626 2006-06-25 devnull case Tlabel:
177 257fb626 2006-06-25 devnull PUTSTRING(p+6, m->label);
178 dbf57689 2020-01-13 rsc break;
179 dbf57689 2020-01-13 rsc case Tctxt:
180 dbf57689 2020-01-13 rsc PUTSTRING(p+6, m->id);
181 257fb626 2006-06-25 devnull break;
182 257fb626 2006-06-25 devnull case Tinit:
183 257fb626 2006-06-25 devnull p += 6;
184 257fb626 2006-06-25 devnull p += PUTSTRING(p, m->winsize);
185 257fb626 2006-06-25 devnull p += PUTSTRING(p, m->label);
186 257fb626 2006-06-25 devnull break;
187 257fb626 2006-06-25 devnull case Rrdsnarf:
188 257fb626 2006-06-25 devnull case Twrsnarf:
189 257fb626 2006-06-25 devnull PUTSTRING(p+6, m->snarf);
190 257fb626 2006-06-25 devnull break;
191 257fb626 2006-06-25 devnull case Rrddraw:
192 257fb626 2006-06-25 devnull case Twrdraw:
193 257fb626 2006-06-25 devnull PUT(p+6, m->count);
194 257fb626 2006-06-25 devnull memmove(p+10, m->data, m->count);
195 257fb626 2006-06-25 devnull break;
196 257fb626 2006-06-25 devnull case Trddraw:
197 257fb626 2006-06-25 devnull case Rwrdraw:
198 257fb626 2006-06-25 devnull PUT(p+6, m->count);
199 257fb626 2006-06-25 devnull break;
200 257fb626 2006-06-25 devnull case Tresize:
201 257fb626 2006-06-25 devnull PUT(p+6, m->rect.min.x);
202 257fb626 2006-06-25 devnull PUT(p+10, m->rect.min.y);
203 257fb626 2006-06-25 devnull PUT(p+14, m->rect.max.x);
204 257fb626 2006-06-25 devnull PUT(p+18, m->rect.max.y);
205 257fb626 2006-06-25 devnull break;
206 fa325e9b 2020-01-10 cross }
207 257fb626 2006-06-25 devnull return nn;
208 257fb626 2006-06-25 devnull }
209 257fb626 2006-06-25 devnull
210 257fb626 2006-06-25 devnull uint
211 257fb626 2006-06-25 devnull convM2W(uchar *p, uint n, Wsysmsg *m)
212 257fb626 2006-06-25 devnull {
213 257fb626 2006-06-25 devnull int nn;
214 fa325e9b 2020-01-10 cross
215 257fb626 2006-06-25 devnull if(n < 6)
216 257fb626 2006-06-25 devnull return 0;
217 257fb626 2006-06-25 devnull GET(p, nn);
218 257fb626 2006-06-25 devnull if(nn > n)
219 257fb626 2006-06-25 devnull return 0;
220 257fb626 2006-06-25 devnull m->tag = p[4];
221 257fb626 2006-06-25 devnull m->type = p[5];
222 257fb626 2006-06-25 devnull switch(m->type){
223 257fb626 2006-06-25 devnull default:
224 257fb626 2006-06-25 devnull return 0;
225 257fb626 2006-06-25 devnull case Trdmouse:
226 257fb626 2006-06-25 devnull case Rbouncemouse:
227 257fb626 2006-06-25 devnull case Rmoveto:
228 257fb626 2006-06-25 devnull case Rcursor:
229 7bb69ba8 2019-04-05 rsc case Rcursor2:
230 257fb626 2006-06-25 devnull case Trdkbd:
231 d25d0ca1 2020-05-19 rsc case Trdkbd4:
232 257fb626 2006-06-25 devnull case Rlabel:
233 dbf57689 2020-01-13 rsc case Rctxt:
234 257fb626 2006-06-25 devnull case Rinit:
235 257fb626 2006-06-25 devnull case Trdsnarf:
236 257fb626 2006-06-25 devnull case Rwrsnarf:
237 257fb626 2006-06-25 devnull case Ttop:
238 257fb626 2006-06-25 devnull case Rtop:
239 257fb626 2006-06-25 devnull case Rresize:
240 257fb626 2006-06-25 devnull break;
241 257fb626 2006-06-25 devnull case Rerror:
242 257fb626 2006-06-25 devnull GETSTRING(p+6, &m->error);
243 257fb626 2006-06-25 devnull break;
244 257fb626 2006-06-25 devnull case Rrdmouse:
245 257fb626 2006-06-25 devnull GET(p+6, m->mouse.xy.x);
246 257fb626 2006-06-25 devnull GET(p+10, m->mouse.xy.y);
247 257fb626 2006-06-25 devnull GET(p+14, m->mouse.buttons);
248 257fb626 2006-06-25 devnull GET(p+18, m->mouse.msec);
249 257fb626 2006-06-25 devnull m->resized = p[19];
250 257fb626 2006-06-25 devnull break;
251 257fb626 2006-06-25 devnull case Tbouncemouse:
252 257fb626 2006-06-25 devnull GET(p+6, m->mouse.xy.x);
253 257fb626 2006-06-25 devnull GET(p+10, m->mouse.xy.y);
254 257fb626 2006-06-25 devnull GET(p+14, m->mouse.buttons);
255 257fb626 2006-06-25 devnull break;
256 257fb626 2006-06-25 devnull case Tmoveto:
257 257fb626 2006-06-25 devnull GET(p+6, m->mouse.xy.x);
258 257fb626 2006-06-25 devnull GET(p+10, m->mouse.xy.y);
259 257fb626 2006-06-25 devnull break;
260 257fb626 2006-06-25 devnull case Tcursor:
261 257fb626 2006-06-25 devnull GET(p+6, m->cursor.offset.x);
262 257fb626 2006-06-25 devnull GET(p+10, m->cursor.offset.y);
263 257fb626 2006-06-25 devnull memmove(m->cursor.clr, p+14, sizeof m->cursor.clr);
264 257fb626 2006-06-25 devnull memmove(m->cursor.set, p+46, sizeof m->cursor.set);
265 7bb69ba8 2019-04-05 rsc m->arrowcursor = p[78];
266 7bb69ba8 2019-04-05 rsc break;
267 7bb69ba8 2019-04-05 rsc case Tcursor2:
268 7bb69ba8 2019-04-05 rsc GET(p+6, m->cursor.offset.x);
269 7bb69ba8 2019-04-05 rsc GET(p+10, m->cursor.offset.y);
270 7bb69ba8 2019-04-05 rsc memmove(m->cursor.clr, p+14, sizeof m->cursor.clr);
271 7bb69ba8 2019-04-05 rsc memmove(m->cursor.set, p+46, sizeof m->cursor.set);
272 8581c2b5 2018-11-16 rsc GET(p+78, m->cursor2.offset.x);
273 8581c2b5 2018-11-16 rsc GET(p+82, m->cursor2.offset.y);
274 8581c2b5 2018-11-16 rsc memmove(m->cursor2.clr, p+86, sizeof m->cursor2.clr);
275 8581c2b5 2018-11-16 rsc memmove(m->cursor2.set, p+214, sizeof m->cursor2.set);
276 8581c2b5 2018-11-16 rsc m->arrowcursor = p[342];
277 257fb626 2006-06-25 devnull break;
278 257fb626 2006-06-25 devnull case Rrdkbd:
279 257fb626 2006-06-25 devnull GET2(p+6, m->rune);
280 257fb626 2006-06-25 devnull break;
281 d25d0ca1 2020-05-19 rsc case Rrdkbd4:
282 d25d0ca1 2020-05-19 rsc GET(p+6, m->rune);
283 d25d0ca1 2020-05-19 rsc break;
284 257fb626 2006-06-25 devnull case Tlabel:
285 257fb626 2006-06-25 devnull GETSTRING(p+6, &m->label);
286 257fb626 2006-06-25 devnull break;
287 dbf57689 2020-01-13 rsc case Tctxt:
288 dbf57689 2020-01-13 rsc GETSTRING(p+6, &m->id);
289 dbf57689 2020-01-13 rsc break;
290 257fb626 2006-06-25 devnull case Tinit:
291 257fb626 2006-06-25 devnull p += 6;
292 257fb626 2006-06-25 devnull p += GETSTRING(p, &m->winsize);
293 257fb626 2006-06-25 devnull p += GETSTRING(p, &m->label);
294 257fb626 2006-06-25 devnull break;
295 257fb626 2006-06-25 devnull case Rrdsnarf:
296 257fb626 2006-06-25 devnull case Twrsnarf:
297 257fb626 2006-06-25 devnull GETSTRING(p+6, &m->snarf);
298 257fb626 2006-06-25 devnull break;
299 257fb626 2006-06-25 devnull case Rrddraw:
300 257fb626 2006-06-25 devnull case Twrdraw:
301 257fb626 2006-06-25 devnull GET(p+6, m->count);
302 257fb626 2006-06-25 devnull m->data = p+10;
303 257fb626 2006-06-25 devnull break;
304 257fb626 2006-06-25 devnull case Trddraw:
305 257fb626 2006-06-25 devnull case Rwrdraw:
306 257fb626 2006-06-25 devnull GET(p+6, m->count);
307 257fb626 2006-06-25 devnull break;
308 257fb626 2006-06-25 devnull case Tresize:
309 257fb626 2006-06-25 devnull GET(p+6, m->rect.min.x);
310 257fb626 2006-06-25 devnull GET(p+10, m->rect.min.y);
311 257fb626 2006-06-25 devnull GET(p+14, m->rect.max.x);
312 257fb626 2006-06-25 devnull GET(p+18, m->rect.max.y);
313 257fb626 2006-06-25 devnull break;
314 fa325e9b 2020-01-10 cross }
315 257fb626 2006-06-25 devnull return nn;
316 257fb626 2006-06-25 devnull }
317 257fb626 2006-06-25 devnull
318 257fb626 2006-06-25 devnull int
319 257fb626 2006-06-25 devnull readwsysmsg(int fd, uchar *buf, uint nbuf)
320 257fb626 2006-06-25 devnull {
321 257fb626 2006-06-25 devnull int n;
322 257fb626 2006-06-25 devnull
323 257fb626 2006-06-25 devnull if(nbuf < 6)
324 257fb626 2006-06-25 devnull return -1;
325 257fb626 2006-06-25 devnull if(readn(fd, buf, 4) != 4)
326 257fb626 2006-06-25 devnull return -1;
327 257fb626 2006-06-25 devnull GET(buf, n);
328 257fb626 2006-06-25 devnull if(n > nbuf)
329 257fb626 2006-06-25 devnull return -1;
330 257fb626 2006-06-25 devnull if(readn(fd, buf+4, n-4) != n-4)
331 257fb626 2006-06-25 devnull return -1;
332 257fb626 2006-06-25 devnull return n;
333 257fb626 2006-06-25 devnull }
334 257fb626 2006-06-25 devnull
335 257fb626 2006-06-25 devnull int
336 257fb626 2006-06-25 devnull drawfcallfmt(Fmt *fmt)
337 257fb626 2006-06-25 devnull {
338 257fb626 2006-06-25 devnull Wsysmsg *m;
339 fa325e9b 2020-01-10 cross
340 257fb626 2006-06-25 devnull m = va_arg(fmt->args, Wsysmsg*);
341 257fb626 2006-06-25 devnull fmtprint(fmt, "tag=%d ", m->tag);
342 257fb626 2006-06-25 devnull switch(m->type){
343 257fb626 2006-06-25 devnull default:
344 257fb626 2006-06-25 devnull return fmtprint(fmt, "unknown msg %d", m->type);
345 257fb626 2006-06-25 devnull case Rerror:
346 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rerror error='%s'", m->error);
347 257fb626 2006-06-25 devnull case Trdmouse:
348 257fb626 2006-06-25 devnull return fmtprint(fmt, "Trdmouse");
349 257fb626 2006-06-25 devnull case Rrdmouse:
350 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rrdmouse x=%d y=%d buttons=%d msec=%d resized=%d",
351 fa325e9b 2020-01-10 cross m->mouse.xy.x, m->mouse.xy.y,
352 257fb626 2006-06-25 devnull m->mouse.buttons, m->mouse.msec, m->resized);
353 257fb626 2006-06-25 devnull case Tbouncemouse:
354 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tbouncemouse x=%d y=%d buttons=%d",
355 257fb626 2006-06-25 devnull m->mouse.xy.x, m->mouse.xy.y, m->mouse.buttons);
356 257fb626 2006-06-25 devnull case Rbouncemouse:
357 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rbouncemouse");
358 257fb626 2006-06-25 devnull case Tmoveto:
359 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tmoveto x=%d y=%d", m->mouse.xy.x, m->mouse.xy.y);
360 257fb626 2006-06-25 devnull case Rmoveto:
361 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rmoveto");
362 257fb626 2006-06-25 devnull case Tcursor:
363 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tcursor arrow=%d", m->arrowcursor);
364 7bb69ba8 2019-04-05 rsc case Tcursor2:
365 7bb69ba8 2019-04-05 rsc return fmtprint(fmt, "Tcursor2 arrow=%d", m->arrowcursor);
366 257fb626 2006-06-25 devnull case Rcursor:
367 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rcursor");
368 7bb69ba8 2019-04-05 rsc case Rcursor2:
369 7bb69ba8 2019-04-05 rsc return fmtprint(fmt, "Rcursor2");
370 257fb626 2006-06-25 devnull case Trdkbd:
371 257fb626 2006-06-25 devnull return fmtprint(fmt, "Trdkbd");
372 257fb626 2006-06-25 devnull case Rrdkbd:
373 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rrdkbd rune=%C", m->rune);
374 d25d0ca1 2020-05-19 rsc case Trdkbd4:
375 d25d0ca1 2020-05-19 rsc return fmtprint(fmt, "Trdkbd4");
376 d25d0ca1 2020-05-19 rsc case Rrdkbd4:
377 d25d0ca1 2020-05-19 rsc return fmtprint(fmt, "Rrdkbd4 rune=%C", m->rune);
378 257fb626 2006-06-25 devnull case Tlabel:
379 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tlabel label='%s'", m->label);
380 257fb626 2006-06-25 devnull case Rlabel:
381 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rlabel");
382 dbf57689 2020-01-13 rsc case Tctxt:
383 dbf57689 2020-01-13 rsc return fmtprint(fmt, "Tctxt id='%s'", m->id);
384 dbf57689 2020-01-13 rsc case Rctxt:
385 dbf57689 2020-01-13 rsc return fmtprint(fmt, "Rctxt");
386 257fb626 2006-06-25 devnull case Tinit:
387 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tinit label='%s' winsize='%s'", m->label, m->winsize);
388 257fb626 2006-06-25 devnull case Rinit:
389 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rinit");
390 257fb626 2006-06-25 devnull case Trdsnarf:
391 257fb626 2006-06-25 devnull return fmtprint(fmt, "Trdsnarf");
392 257fb626 2006-06-25 devnull case Rrdsnarf:
393 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rrdsnarf snarf='%s'", m->snarf);
394 257fb626 2006-06-25 devnull case Twrsnarf:
395 257fb626 2006-06-25 devnull return fmtprint(fmt, "Twrsnarf snarf='%s'", m->snarf);
396 257fb626 2006-06-25 devnull case Rwrsnarf:
397 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rwrsnarf");
398 257fb626 2006-06-25 devnull case Trddraw:
399 257fb626 2006-06-25 devnull return fmtprint(fmt, "Trddraw %d", m->count);
400 257fb626 2006-06-25 devnull case Rrddraw:
401 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rrddraw %d %.*H", m->count, m->count, m->data);
402 257fb626 2006-06-25 devnull case Twrdraw:
403 257fb626 2006-06-25 devnull return fmtprint(fmt, "Twrdraw %d %.*H", m->count, m->count, m->data);
404 257fb626 2006-06-25 devnull case Rwrdraw:
405 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rwrdraw %d", m->count);
406 257fb626 2006-06-25 devnull case Ttop:
407 257fb626 2006-06-25 devnull return fmtprint(fmt, "Ttop");
408 257fb626 2006-06-25 devnull case Rtop:
409 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rtop");
410 257fb626 2006-06-25 devnull case Tresize:
411 257fb626 2006-06-25 devnull return fmtprint(fmt, "Tresize %R", m->rect);
412 257fb626 2006-06-25 devnull case Rresize:
413 257fb626 2006-06-25 devnull return fmtprint(fmt, "Rresize");
414 257fb626 2006-06-25 devnull }
415 257fb626 2006-06-25 devnull }