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