Blame


1 038e9089 2004-03-21 devnull /* Copyright (c) 1994-1996 David Hogan, see README for licence details */
2 038e9089 2004-03-21 devnull #include <stdio.h>
3 038e9089 2004-03-21 devnull #include <X11/X.h>
4 038e9089 2004-03-21 devnull #include <X11/Xlib.h>
5 038e9089 2004-03-21 devnull #include <X11/Xutil.h>
6 038e9089 2004-03-21 devnull #include "dat.h"
7 038e9089 2004-03-21 devnull #include "fns.h"
8 038e9089 2004-03-21 devnull
9 038e9089 2004-03-21 devnull typedef struct {
10 038e9089 2004-03-21 devnull int width;
11 038e9089 2004-03-21 devnull int hot[2];
12 038e9089 2004-03-21 devnull unsigned char mask[64];
13 038e9089 2004-03-21 devnull unsigned char fore[64];
14 038e9089 2004-03-21 devnull } Cursordata;
15 038e9089 2004-03-21 devnull
16 038e9089 2004-03-21 devnull Cursordata bigarrow = {
17 038e9089 2004-03-21 devnull 16,
18 038e9089 2004-03-21 devnull {0, 0},
19 fa325e9b 2020-01-10 cross { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x3F,
20 fa325e9b 2020-01-10 cross 0xFF, 0x0F, 0xFF, 0x0F, 0xFF, 0x1F, 0xFF, 0x3F,
21 fa325e9b 2020-01-10 cross 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x3F,
22 fa325e9b 2020-01-10 cross 0xCF, 0x1F, 0x8F, 0x0F, 0x07, 0x07, 0x03, 0x02,
23 038e9089 2004-03-21 devnull },
24 fa325e9b 2020-01-10 cross { 0x00, 0x00, 0xFE, 0x7F, 0xFE, 0x3F, 0xFE, 0x0F,
25 fa325e9b 2020-01-10 cross 0xFE, 0x07, 0xFE, 0x07, 0xFE, 0x0F, 0xFE, 0x1F,
26 fa325e9b 2020-01-10 cross 0xFE, 0x3F, 0xFE, 0x7F, 0xFE, 0x3F, 0xCE, 0x1F,
27 fa325e9b 2020-01-10 cross 0x86, 0x0F, 0x06, 0x07, 0x02, 0x02, 0x00, 0x00,
28 cbeb0b26 2006-04-01 devnull }
29 038e9089 2004-03-21 devnull };
30 038e9089 2004-03-21 devnull
31 038e9089 2004-03-21 devnull Cursordata sweep0data = {
32 038e9089 2004-03-21 devnull 16,
33 038e9089 2004-03-21 devnull {7, 7},
34 038e9089 2004-03-21 devnull {0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03,
35 038e9089 2004-03-21 devnull 0xC0, 0x03, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF,
36 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xC0, 0x03,
37 038e9089 2004-03-21 devnull 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03},
38 038e9089 2004-03-21 devnull {0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
39 038e9089 2004-03-21 devnull 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xFE, 0x7F,
40 038e9089 2004-03-21 devnull 0xFE, 0x7F, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
41 038e9089 2004-03-21 devnull 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00}
42 038e9089 2004-03-21 devnull };
43 038e9089 2004-03-21 devnull
44 038e9089 2004-03-21 devnull Cursordata boxcursdata = {
45 038e9089 2004-03-21 devnull 16,
46 038e9089 2004-03-21 devnull {7, 7},
47 038e9089 2004-03-21 devnull {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
48 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8,
49 038e9089 2004-03-21 devnull 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0xFF, 0xFF,
50 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
51 038e9089 2004-03-21 devnull {0x00, 0x00, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F,
52 038e9089 2004-03-21 devnull 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70,
53 038e9089 2004-03-21 devnull 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70,
54 038e9089 2004-03-21 devnull 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0x00, 0x00}
55 038e9089 2004-03-21 devnull };
56 038e9089 2004-03-21 devnull
57 038e9089 2004-03-21 devnull Cursordata sightdata = {
58 038e9089 2004-03-21 devnull 16,
59 038e9089 2004-03-21 devnull {7, 7},
60 038e9089 2004-03-21 devnull {0xF8, 0x1F, 0xFC, 0x3F, 0xFE, 0x7F, 0xDF, 0xFB,
61 038e9089 2004-03-21 devnull 0xCF, 0xF3, 0xC7, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF,
62 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xE3, 0xCF, 0xF3,
63 038e9089 2004-03-21 devnull 0xDF, 0x7B, 0xFE, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F,},
64 038e9089 2004-03-21 devnull {0x00, 0x00, 0xF0, 0x0F, 0x8C, 0x31, 0x84, 0x21,
65 038e9089 2004-03-21 devnull 0x82, 0x41, 0x82, 0x41, 0x82, 0x41, 0xFE, 0x7F,
66 038e9089 2004-03-21 devnull 0xFE, 0x7F, 0x82, 0x41, 0x82, 0x41, 0x82, 0x41,
67 038e9089 2004-03-21 devnull 0x84, 0x21, 0x8C, 0x31, 0xF0, 0x0F, 0x00, 0x00,}
68 038e9089 2004-03-21 devnull };
69 038e9089 2004-03-21 devnull
70 038e9089 2004-03-21 devnull Cursordata arrowdata = {
71 038e9089 2004-03-21 devnull 16,
72 038e9089 2004-03-21 devnull {1, 1},
73 038e9089 2004-03-21 devnull {0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x03, 0xFF, 0x00,
74 038e9089 2004-03-21 devnull 0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0x07,
75 038e9089 2004-03-21 devnull 0xE7, 0x0F, 0xC7, 0x1F, 0x83, 0x3F, 0x00, 0x7F,
76 038e9089 2004-03-21 devnull 0x00, 0xFE, 0x00, 0x7C, 0x00, 0x38, 0x00, 0x10,},
77 038e9089 2004-03-21 devnull {0x00, 0x00, 0xFE, 0x03, 0xFE, 0x00, 0x3E, 0x00,
78 038e9089 2004-03-21 devnull 0x7E, 0x00, 0xFE, 0x00, 0xF6, 0x01, 0xE6, 0x03,
79 038e9089 2004-03-21 devnull 0xC2, 0x07, 0x82, 0x0F, 0x00, 0x1F, 0x00, 0x3E,
80 038e9089 2004-03-21 devnull 0x00, 0x7C, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00,}
81 038e9089 2004-03-21 devnull };
82 038e9089 2004-03-21 devnull
83 038e9089 2004-03-21 devnull Cursordata whitearrow = {
84 038e9089 2004-03-21 devnull 16,
85 038e9089 2004-03-21 devnull {0, 0},
86 038e9089 2004-03-21 devnull {0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x03, 0xFF, 0x00,
87 038e9089 2004-03-21 devnull 0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0x07,
88 038e9089 2004-03-21 devnull 0xE7, 0x0F, 0xC7, 0x1F, 0x83, 0x3F, 0x00, 0x7F,
89 038e9089 2004-03-21 devnull 0x00, 0xFE, 0x00, 0x7C, 0x00, 0x38, 0x00, 0x10,},
90 038e9089 2004-03-21 devnull {0xFF, 0x07, 0xFF, 0x07, 0x83, 0x03, 0xC3, 0x00,
91 038e9089 2004-03-21 devnull 0xC3, 0x00, 0x83, 0x01, 0x1B, 0x03, 0x3F, 0x06,
92 038e9089 2004-03-21 devnull 0x67, 0x0C, 0xC7, 0x18, 0x83, 0x31, 0x00, 0x63,
93 038e9089 2004-03-21 devnull 0x00, 0xC6, 0x00, 0x6C, 0x00, 0x38, 0x00, 0x10,}
94 038e9089 2004-03-21 devnull };
95 038e9089 2004-03-21 devnull
96 038e9089 2004-03-21 devnull Cursordata blittarget = {
97 038e9089 2004-03-21 devnull 18,
98 038e9089 2004-03-21 devnull {8, 8},
99 038e9089 2004-03-21 devnull {0xe0, 0x1f, 0x00, 0xf0, 0x3f, 0x00, 0xf8, 0x7f, 0x00,
100 038e9089 2004-03-21 devnull 0xfc, 0xff, 0x00, 0xfe, 0xff, 0x01, 0xff, 0xff, 0x03,
101 038e9089 2004-03-21 devnull 0xff, 0xff, 0x03, 0xff, 0xff, 0x03, 0xff, 0xff, 0x03,
102 038e9089 2004-03-21 devnull 0xff, 0xff, 0x03, 0xff, 0xff, 0x03, 0xff, 0xff, 0x03,
103 038e9089 2004-03-21 devnull 0xff, 0xff, 0x03, 0xfe, 0xff, 0x01, 0xfc, 0xff, 0x00,
104 038e9089 2004-03-21 devnull 0xf8, 0x7f, 0x00, 0xf0, 0x3f, 0x00, 0xe0, 0x1f, 0x00},
105 038e9089 2004-03-21 devnull {0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xf0, 0x3f, 0x00,
106 038e9089 2004-03-21 devnull 0x38, 0x73, 0x00, 0x8c, 0xc7, 0x00, 0xec, 0xdf, 0x00,
107 038e9089 2004-03-21 devnull 0x66, 0x9b, 0x01, 0x36, 0xb3, 0x01, 0xfe, 0xff, 0x01,
108 038e9089 2004-03-21 devnull 0xfe, 0xff, 0x01, 0x36, 0xb3, 0x01, 0x66, 0x9b, 0x01,
109 038e9089 2004-03-21 devnull 0xec, 0xdf, 0x00, 0x8c, 0xc7, 0x00, 0x38, 0x73, 0x00,
110 038e9089 2004-03-21 devnull 0xf0, 0x3f, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00}
111 038e9089 2004-03-21 devnull };
112 038e9089 2004-03-21 devnull
113 038e9089 2004-03-21 devnull Cursordata blitarrow = {
114 038e9089 2004-03-21 devnull 18,
115 038e9089 2004-03-21 devnull {1, 1},
116 038e9089 2004-03-21 devnull {0xff, 0x0f, 0x00, 0xff, 0x07, 0x00, 0xff, 0x03, 0x00,
117 038e9089 2004-03-21 devnull 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x01, 0x00,
118 038e9089 2004-03-21 devnull 0xff, 0x03, 0x00, 0xff, 0x07, 0x00, 0xe7, 0x0f, 0x00,
119 038e9089 2004-03-21 devnull 0xc7, 0x1f, 0x00, 0x87, 0x3f, 0x00, 0x03, 0x7f, 0x00,
120 038e9089 2004-03-21 devnull 0x01, 0xfe, 0x00, 0x00, 0xfc, 0x01, 0x00, 0xf8, 0x03,
121 038e9089 2004-03-21 devnull 0x00, 0xf0, 0x01, 0x00, 0xe0, 0x00, 0x00, 0x40, 0x00},
122 038e9089 2004-03-21 devnull {0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0xfe, 0x00, 0x00,
123 038e9089 2004-03-21 devnull 0x3e, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xfe, 0x00, 0x00,
124 038e9089 2004-03-21 devnull 0xf6, 0x01, 0x00, 0xe6, 0x03, 0x00, 0xc2, 0x07, 0x00,
125 038e9089 2004-03-21 devnull 0x82, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00,
126 038e9089 2004-03-21 devnull 0x00, 0x7c, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xf0, 0x01,
127 038e9089 2004-03-21 devnull 0x00, 0xe0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00}
128 038e9089 2004-03-21 devnull };
129 038e9089 2004-03-21 devnull
130 038e9089 2004-03-21 devnull Cursordata blitsweep = {
131 038e9089 2004-03-21 devnull 18,
132 038e9089 2004-03-21 devnull {8, 8},
133 038e9089 2004-03-21 devnull {0xc4, 0xff, 0x03, 0xce, 0xff, 0x03, 0xdf, 0xff, 0x03,
134 038e9089 2004-03-21 devnull 0x3e, 0x80, 0x03, 0x7c, 0x83, 0x03, 0xf8, 0x83, 0x03,
135 038e9089 2004-03-21 devnull 0xf7, 0x83, 0x03, 0xe7, 0x83, 0x03, 0xf7, 0x83, 0x03,
136 038e9089 2004-03-21 devnull 0xf7, 0x83, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03,
137 038e9089 2004-03-21 devnull 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03,
138 038e9089 2004-03-21 devnull 0xff, 0xff, 0x03, 0xff, 0xff, 0x03, 0xff, 0xff, 0x03},
139 038e9089 2004-03-21 devnull {0x00, 0x00, 0x00, 0x84, 0xff, 0x01, 0x0e, 0x00, 0x01,
140 038e9089 2004-03-21 devnull 0x1c, 0x00, 0x01, 0x38, 0x00, 0x01, 0x70, 0x01, 0x01,
141 038e9089 2004-03-21 devnull 0xe0, 0x01, 0x01, 0xc2, 0x01, 0x01, 0xe2, 0x01, 0x01,
142 038e9089 2004-03-21 devnull 0x02, 0x00, 0x01, 0x02, 0x00, 0x01, 0x02, 0x00, 0x01,
143 038e9089 2004-03-21 devnull 0x02, 0x00, 0x01, 0x02, 0x00, 0x01, 0x02, 0x00, 0x01,
144 038e9089 2004-03-21 devnull 0x02, 0x00, 0x01, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00}
145 038e9089 2004-03-21 devnull };
146 038e9089 2004-03-21 devnull
147 038e9089 2004-03-21 devnull /*
148 038e9089 2004-03-21 devnull * Grey tile pattern for root background
149 038e9089 2004-03-21 devnull */
150 038e9089 2004-03-21 devnull
151 038e9089 2004-03-21 devnull #define grey_width 4
152 038e9089 2004-03-21 devnull #define grey_height 2
153 038e9089 2004-03-21 devnull static char grey_bits[] = {
154 cbeb0b26 2006-04-01 devnull 0x01, 0x04
155 038e9089 2004-03-21 devnull };
156 038e9089 2004-03-21 devnull
157 038e9089 2004-03-21 devnull static XColor bl, wh;
158 038e9089 2004-03-21 devnull
159 038e9089 2004-03-21 devnull Cursor
160 038e9089 2004-03-21 devnull getcursor(c, s)
161 038e9089 2004-03-21 devnull Cursordata *c;
162 038e9089 2004-03-21 devnull ScreenInfo *s;
163 038e9089 2004-03-21 devnull {
164 038e9089 2004-03-21 devnull Pixmap f, m;
165 038e9089 2004-03-21 devnull
166 038e9089 2004-03-21 devnull f = XCreatePixmapFromBitmapData(dpy, s->root, (char *)c->fore,
167 038e9089 2004-03-21 devnull c->width, c->width, 1, 0, 1);
168 038e9089 2004-03-21 devnull m = XCreatePixmapFromBitmapData(dpy, s->root, (char *)c->mask,
169 038e9089 2004-03-21 devnull c->width, c->width, 1, 0, 1);
170 038e9089 2004-03-21 devnull return XCreatePixmapCursor(dpy, f, m, &bl, &wh,
171 038e9089 2004-03-21 devnull c->hot[0], c->hot[1]);
172 038e9089 2004-03-21 devnull }
173 038e9089 2004-03-21 devnull
174 038e9089 2004-03-21 devnull void
175 038e9089 2004-03-21 devnull initcurs(s)
176 038e9089 2004-03-21 devnull ScreenInfo *s;
177 038e9089 2004-03-21 devnull {
178 038e9089 2004-03-21 devnull XColor dummy;
179 038e9089 2004-03-21 devnull
180 038e9089 2004-03-21 devnull XAllocNamedColor(dpy, DefaultColormap(dpy, s->num),
181 038e9089 2004-03-21 devnull "black", &bl, &dummy);
182 038e9089 2004-03-21 devnull XAllocNamedColor(dpy, DefaultColormap(dpy, s->num),
183 038e9089 2004-03-21 devnull "white", &wh, &dummy);
184 038e9089 2004-03-21 devnull
185 ac33a34a 2005-07-13 devnull if(nostalgia){
186 038e9089 2004-03-21 devnull s->arrow = getcursor(&blitarrow, s);
187 038e9089 2004-03-21 devnull s->target = getcursor(&blittarget, s);
188 038e9089 2004-03-21 devnull s->sweep0 = getcursor(&blitsweep, s);
189 038e9089 2004-03-21 devnull s->boxcurs = getcursor(&blitsweep, s);
190 038e9089 2004-03-21 devnull }
191 038e9089 2004-03-21 devnull else {
192 038e9089 2004-03-21 devnull s->arrow = getcursor(&bigarrow, s);
193 038e9089 2004-03-21 devnull s->target = getcursor(&sightdata, s);
194 038e9089 2004-03-21 devnull s->sweep0 = getcursor(&sweep0data, s);
195 038e9089 2004-03-21 devnull s->boxcurs = getcursor(&boxcursdata, s);
196 038e9089 2004-03-21 devnull }
197 038e9089 2004-03-21 devnull
198 038e9089 2004-03-21 devnull s->root_pixmap = XCreatePixmapFromBitmapData(dpy,
199 038e9089 2004-03-21 devnull s->root, grey_bits, grey_width, grey_height,
200 c005568a 2004-03-30 devnull s->black, s->white, s->depth);
201 fa325e9b 2020-01-10 cross
202 1cb3fa80 2004-03-29 devnull s->bordcurs[BorderN] = XCreateFontCursor(dpy, 138);
203 c005568a 2004-03-30 devnull s->bordcurs[BorderNNE] = XCreateFontCursor(dpy, 136);
204 c005568a 2004-03-30 devnull s->bordcurs[BorderENE] = s->bordcurs[BorderNNE] ;
205 c005568a 2004-03-30 devnull s->bordcurs[BorderE] = XCreateFontCursor(dpy, 96);
206 c005568a 2004-03-30 devnull s->bordcurs[BorderESE] = XCreateFontCursor(dpy, 14);
207 c005568a 2004-03-30 devnull s->bordcurs[BorderSSE] = s->bordcurs[BorderESE];
208 1cb3fa80 2004-03-29 devnull s->bordcurs[BorderS] = XCreateFontCursor(dpy, 16);
209 c005568a 2004-03-30 devnull s->bordcurs[BorderSSW] = XCreateFontCursor(dpy, 12);
210 c005568a 2004-03-30 devnull s->bordcurs[BorderWSW] = s->bordcurs[BorderSSW];
211 1cb3fa80 2004-03-29 devnull s->bordcurs[BorderW] = XCreateFontCursor(dpy, 70);
212 c005568a 2004-03-30 devnull s->bordcurs[BorderWNW] = XCreateFontCursor(dpy, 134);
213 c005568a 2004-03-30 devnull s->bordcurs[BorderNNW] = s->bordcurs[BorderWNW];
214 038e9089 2004-03-21 devnull }
215 038e9089 2004-03-21 devnull
216 038e9089 2004-03-21 devnull
217 038e9089 2004-03-21 devnull /* RIO
218 038e9089 2004-03-21 devnull
219 038e9089 2004-03-21 devnull Cursor crosscursor = {
220 038e9089 2004-03-21 devnull {-7, -7},
221 038e9089 2004-03-21 devnull {0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0,
222 038e9089 2004-03-21 devnull 0x03, 0xC0, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
223 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x03, 0xC0,
224 038e9089 2004-03-21 devnull 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, },
225 038e9089 2004-03-21 devnull {0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
226 038e9089 2004-03-21 devnull 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x7F, 0xFE,
227 038e9089 2004-03-21 devnull 0x7F, 0xFE, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
228 038e9089 2004-03-21 devnull 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, }
229 038e9089 2004-03-21 devnull };
230 038e9089 2004-03-21 devnull
231 038e9089 2004-03-21 devnull Cursor boxcursor = {
232 038e9089 2004-03-21 devnull {-7, -7},
233 038e9089 2004-03-21 devnull {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
234 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F,
235 038e9089 2004-03-21 devnull 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xFF, 0xFF,
236 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, },
237 038e9089 2004-03-21 devnull {0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE,
238 038e9089 2004-03-21 devnull 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E,
239 038e9089 2004-03-21 devnull 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E,
240 038e9089 2004-03-21 devnull 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x00, }
241 038e9089 2004-03-21 devnull };
242 038e9089 2004-03-21 devnull
243 038e9089 2004-03-21 devnull Cursor sightcursor = {
244 038e9089 2004-03-21 devnull {-7, -7},
245 038e9089 2004-03-21 devnull {0x1F, 0xF8, 0x3F, 0xFC, 0x7F, 0xFE, 0xFB, 0xDF,
246 038e9089 2004-03-21 devnull 0xF3, 0xCF, 0xE3, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF,
247 038e9089 2004-03-21 devnull 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC7, 0xF3, 0xCF,
248 038e9089 2004-03-21 devnull 0x7B, 0xDF, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, },
249 038e9089 2004-03-21 devnull {0x00, 0x00, 0x0F, 0xF0, 0x31, 0x8C, 0x21, 0x84,
250 038e9089 2004-03-21 devnull 0x41, 0x82, 0x41, 0x82, 0x41, 0x82, 0x7F, 0xFE,
251 038e9089 2004-03-21 devnull 0x7F, 0xFE, 0x41, 0x82, 0x41, 0x82, 0x41, 0x82,
252 038e9089 2004-03-21 devnull 0x21, 0x84, 0x31, 0x8C, 0x0F, 0xF0, 0x00, 0x00, }
253 038e9089 2004-03-21 devnull };
254 038e9089 2004-03-21 devnull
255 038e9089 2004-03-21 devnull Cursor whitearrow = {
256 038e9089 2004-03-21 devnull {0, 0},
257 fa325e9b 2020-01-10 cross {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
258 fa325e9b 2020-01-10 cross 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF8, 0xFF, 0xFC,
259 fa325e9b 2020-01-10 cross 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC,
260 038e9089 2004-03-21 devnull 0xF3, 0xF8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, },
261 fa325e9b 2020-01-10 cross {0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0xC0, 0x1C,
262 fa325e9b 2020-01-10 cross 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x38, 0xC0, 0x1C,
263 fa325e9b 2020-01-10 cross 0xC0, 0x0E, 0xC0, 0x07, 0xCE, 0x0E, 0xDF, 0x1C,
264 038e9089 2004-03-21 devnull 0xD3, 0xB8, 0xF1, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, }
265 038e9089 2004-03-21 devnull };
266 038e9089 2004-03-21 devnull
267 038e9089 2004-03-21 devnull Cursor query = {
268 038e9089 2004-03-21 devnull {-7,-7},
269 fa325e9b 2020-01-10 cross {0x0f, 0xf0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe,
270 fa325e9b 2020-01-10 cross 0x7c, 0x7e, 0x78, 0x7e, 0x00, 0xfc, 0x01, 0xf8,
271 fa325e9b 2020-01-10 cross 0x03, 0xf0, 0x07, 0xe0, 0x07, 0xc0, 0x07, 0xc0,
272 038e9089 2004-03-21 devnull 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xc0, },
273 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x0f, 0xf0, 0x1f, 0xf8, 0x3c, 0x3c,
274 fa325e9b 2020-01-10 cross 0x38, 0x1c, 0x00, 0x3c, 0x00, 0x78, 0x00, 0xf0,
275 fa325e9b 2020-01-10 cross 0x01, 0xe0, 0x03, 0xc0, 0x03, 0x80, 0x03, 0x80,
276 038e9089 2004-03-21 devnull 0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, }
277 038e9089 2004-03-21 devnull };
278 038e9089 2004-03-21 devnull
279 038e9089 2004-03-21 devnull Cursor tl = {
280 038e9089 2004-03-21 devnull {-4, -4},
281 fa325e9b 2020-01-10 cross {0xfe, 0x00, 0x82, 0x00, 0x8c, 0x00, 0x87, 0xff,
282 fa325e9b 2020-01-10 cross 0xa0, 0x01, 0xb0, 0x01, 0xd0, 0x01, 0x11, 0xff,
283 fa325e9b 2020-01-10 cross 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
284 038e9089 2004-03-21 devnull 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x1f, 0x00, },
285 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x7c, 0x00, 0x70, 0x00, 0x78, 0x00,
286 fa325e9b 2020-01-10 cross 0x5f, 0xfe, 0x4f, 0xfe, 0x0f, 0xfe, 0x0e, 0x00,
287 fa325e9b 2020-01-10 cross 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
288 038e9089 2004-03-21 devnull 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x00, 0x00, }
289 038e9089 2004-03-21 devnull };
290 038e9089 2004-03-21 devnull
291 038e9089 2004-03-21 devnull Cursor t = {
292 038e9089 2004-03-21 devnull {-7, -8},
293 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x06, 0xc0,
294 fa325e9b 2020-01-10 cross 0x1c, 0x70, 0x10, 0x10, 0x0c, 0x60, 0xfc, 0x7f,
295 fa325e9b 2020-01-10 cross 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xff, 0xff,
296 038e9089 2004-03-21 devnull 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },
297 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
298 fa325e9b 2020-01-10 cross 0x03, 0x80, 0x0f, 0xe0, 0x03, 0x80, 0x03, 0x80,
299 fa325e9b 2020-01-10 cross 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00,
300 038e9089 2004-03-21 devnull 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }
301 038e9089 2004-03-21 devnull };
302 038e9089 2004-03-21 devnull
303 038e9089 2004-03-21 devnull Cursor tr = {
304 038e9089 2004-03-21 devnull {-11, -4},
305 fa325e9b 2020-01-10 cross {0x00, 0x7f, 0x00, 0x41, 0x00, 0x31, 0xff, 0xe1,
306 fa325e9b 2020-01-10 cross 0x80, 0x05, 0x80, 0x0d, 0x80, 0x0b, 0xff, 0x88,
307 fa325e9b 2020-01-10 cross 0x00, 0x88, 0x0, 0x88, 0x00, 0x88, 0x00, 0x88,
308 038e9089 2004-03-21 devnull 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xf8, },
309 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x3e, 0x00, 0x0e, 0x00, 0x1e,
310 fa325e9b 2020-01-10 cross 0x7f, 0xfa, 0x7f, 0xf2, 0x7f, 0xf0, 0x00, 0x70,
311 fa325e9b 2020-01-10 cross 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
312 038e9089 2004-03-21 devnull 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, }
313 038e9089 2004-03-21 devnull };
314 038e9089 2004-03-21 devnull
315 038e9089 2004-03-21 devnull Cursor r = {
316 038e9089 2004-03-21 devnull {-8, -7},
317 fa325e9b 2020-01-10 cross {0x07, 0xc0, 0x04, 0x40, 0x04, 0x40, 0x04, 0x58,
318 fa325e9b 2020-01-10 cross 0x04, 0x68, 0x04, 0x6c, 0x04, 0x06, 0x04, 0x02,
319 fa325e9b 2020-01-10 cross 0x04, 0x06, 0x04, 0x6c, 0x04, 0x68, 0x04, 0x58,
320 038e9089 2004-03-21 devnull 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x07, 0xc0, },
321 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
322 fa325e9b 2020-01-10 cross 0x03, 0x90, 0x03, 0x90, 0x03, 0xf8, 0x03, 0xfc,
323 fa325e9b 2020-01-10 cross 0x03, 0xf8, 0x03, 0x90, 0x03, 0x90, 0x03, 0x80,
324 038e9089 2004-03-21 devnull 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, }
325 038e9089 2004-03-21 devnull };
326 038e9089 2004-03-21 devnull
327 038e9089 2004-03-21 devnull Cursor br = {
328 038e9089 2004-03-21 devnull {-11, -11},
329 fa325e9b 2020-01-10 cross {0x00, 0xf8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88,
330 fa325e9b 2020-01-10 cross 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88,
331 fa325e9b 2020-01-10 cross 0xff, 0x88, 0x80, 0x0b, 0x80, 0x0d, 0x80, 0x05,
332 038e9089 2004-03-21 devnull 0xff, 0xe1, 0x00, 0x31, 0x00, 0x41, 0x00, 0x7f, },
333 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
334 fa325e9b 2020-01-10 cross 0x0, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70,
335 fa325e9b 2020-01-10 cross 0x00, 0x70, 0x7f, 0xf0, 0x7f, 0xf2, 0x7f, 0xfa,
336 038e9089 2004-03-21 devnull 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x3e, 0x00, 0x00, }
337 038e9089 2004-03-21 devnull };
338 038e9089 2004-03-21 devnull
339 038e9089 2004-03-21 devnull Cursor b = {
340 038e9089 2004-03-21 devnull {-7, -7},
341 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
342 fa325e9b 2020-01-10 cross 0xff, 0xff, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
343 fa325e9b 2020-01-10 cross 0xfc, 0x7f, 0x0c, 0x60, 0x10, 0x10, 0x1c, 0x70,
344 038e9089 2004-03-21 devnull 0x06, 0xc0, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, },
345 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
346 fa325e9b 2020-01-10 cross 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe,
347 fa325e9b 2020-01-10 cross 0x03, 0x80, 0x03, 0x80, 0x0f, 0xe0, 0x03, 0x80,
348 038e9089 2004-03-21 devnull 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }
349 038e9089 2004-03-21 devnull };
350 038e9089 2004-03-21 devnull
351 038e9089 2004-03-21 devnull Cursor bl = {
352 038e9089 2004-03-21 devnull {-4, -11},
353 fa325e9b 2020-01-10 cross {0x1f, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
354 fa325e9b 2020-01-10 cross 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
355 fa325e9b 2020-01-10 cross 0x11, 0xff, 0xd0, 0x01, 0xb0, 0x01, 0xa0, 0x01,
356 038e9089 2004-03-21 devnull 0x87, 0xff, 0x8c, 0x00, 0x82, 0x00, 0xfe, 0x00, },
357 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
358 fa325e9b 2020-01-10 cross 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x00,
359 fa325e9b 2020-01-10 cross 0x0e, 0x00, 0x0f, 0xfe, 0x4f, 0xfe, 0x5f, 0xfe,
360 038e9089 2004-03-21 devnull 0x78, 0x00, 0x70, 0x00, 0x7c, 0x00, 0x00, 0x0, }
361 038e9089 2004-03-21 devnull };
362 038e9089 2004-03-21 devnull
363 038e9089 2004-03-21 devnull Cursor l = {
364 038e9089 2004-03-21 devnull {-7, -7},
365 fa325e9b 2020-01-10 cross {0x03, 0xe0, 0x02, 0x20, 0x02, 0x20, 0x1a, 0x20,
366 fa325e9b 2020-01-10 cross 0x16, 0x20, 0x36, 0x20, 0x60, 0x20, 0x40, 0x20,
367 fa325e9b 2020-01-10 cross 0x60, 0x20, 0x36, 0x20, 0x16, 0x20, 0x1a, 0x20,
368 038e9089 2004-03-21 devnull 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x03, 0xe0, },
369 fa325e9b 2020-01-10 cross {0x00, 0x00, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
370 fa325e9b 2020-01-10 cross 0x09, 0xc0, 0x09, 0xc0, 0x1f, 0xc0, 0x3f, 0xc0,
371 fa325e9b 2020-01-10 cross 0x1f, 0xc0, 0x09, 0xc0, 0x09, 0xc0, 0x01, 0xc0,
372 038e9089 2004-03-21 devnull 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x00, }
373 038e9089 2004-03-21 devnull };
374 038e9089 2004-03-21 devnull
375 038e9089 2004-03-21 devnull Cursor *corners[9] = {
376 038e9089 2004-03-21 devnull &tl, &t, &tr,
377 038e9089 2004-03-21 devnull &l, nil, &r,
378 cbeb0b26 2006-04-01 devnull &bl, &b, &br
379 038e9089 2004-03-21 devnull };
380 038e9089 2004-03-21 devnull
381 038e9089 2004-03-21 devnull */