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