1 /* Copyright (C) 2000-2012 by George Williams */
2 /*
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are met:
5
6 * Redistributions of source code must retain the above copyright notice, this
7 * list of conditions and the following disclaimer.
8
9 * Redistributions in binary form must reproduce the above copyright notice,
10 * this list of conditions and the following disclaimer in the documentation
11 * and/or other materials provided with the distribution.
12
13 * The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28 #include <fontforge-config.h>
29
30 #include "fontforgeui.h"
31
32 #ifndef _CursorsMustBe16x16
33 # define _CursorsMustBe16x16 0 /* X on Mac OSX can't handle anything bigger than 16x16 cursors (I think, it seems to manage smaller ones) */
34 #endif
35
36 GCursor ct_magplus, ct_magminus, ct_mypointer, ct_circle, ct_square, ct_triangle,
37 ct_ruler, ct_pen, ct_knife, ct_rotate, ct_skew, ct_scale, ct_flip,
38 ct_3drotate, ct_perspective, ct_hvcircle, ct_g2circle;
39 GCursor ct_rect, ct_elipse, ct_poly, ct_star, ct_pencil, ct_shift, ct_line,
40 ct_myhand, ct_filledrect, ct_filledelipse, ct_setwidth, ct_eyedropper;
41 GCursor ct_updown, ct_leftright, ct_nesw, ct_nwse;
42 GCursor ct_rbearing, ct_kerning, ct_lbearing;
43 GCursor ct_prohibition, ct_ddcursor, ct_features;
44 GCursor ct_spiroleft, ct_spiroright;
45 GWindow logo_icon;
46
47 #define magplus_width 16
48 #define magplus_height 16
49 #define magplus_x_hot 5
50 #define magplus_y_hot 5
51 static unsigned char magplus_bits[] = {
52 0xf8, 0x00, 0x06, 0x03, 0x22, 0x02, 0x21, 0x04, 0x21, 0x04, 0xfd, 0x05,
53 0x21, 0x04, 0x21, 0x04, 0x22, 0x02, 0x06, 0x03, 0xf8, 0x04, 0x00, 0x08,
54 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80};
55 #define magminus_width 16
56 #define magminus_height 16
57 #define magminus_x_hot 5
58 #define magminus_y_hot 5
59 static unsigned char magminus_bits[] = {
60 0xf8, 0x00, 0x06, 0x03, 0x02, 0x02, 0x01, 0x04, 0x01, 0x04, 0xfd, 0x05,
61 0x01, 0x04, 0x01, 0x04, 0x02, 0x02, 0x06, 0x03, 0xf8, 0x04, 0x00, 0x08,
62 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80};
63 #if _CursorsMustBe16x16
64 #define pointertri_width 16
65 #define pointertri_height 16
66 #define pointertri_x_hot 1
67 #define pointertri_y_hot 0
68 static unsigned char pointertri_bits[] = {
69 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e, 0x00, 0x7e, 0x00,
70 0xfe, 0x00, 0xfe, 0x01, 0x3e, 0x00, 0x36, 0x10, 0x62, 0x30, 0x60, 0x70,
71 0xc0, 0xf0, 0xc0, 0x70, 0x80, 0x31, 0x80, 0x11};
72 #define pointertrimask_width 16
73 #define pointertrimask_height 16
74 static unsigned char pointertrimask_bits[] = {
75 0x02, 0x00, 0x06, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f, 0x00, 0xff, 0x00,
76 0xff, 0x01, 0xff, 0x03, 0xff, 0x03, 0x3f, 0x10, 0x67, 0x30, 0x63, 0x70,
77 0xc0, 0xf0, 0xc0, 0x70, 0x80, 0x31, 0x80, 0x11};
78 #define pointersqr_width 16
79 #define pointersqr_height 16
80 #define pointersqr_x_hot 2
81 #define pointersqr_y_hot 0
82 static unsigned char pointersqr_bits[] = {
83 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
84 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
85 0x80, 0xf1, 0x80, 0xf1, 0x00, 0xf3, 0x00, 0xf3};
86 #define pointersqrmask_width 16
87 #define pointersqrmask_height 16
88 static unsigned char pointersqrmask_bits[] = {
89 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
90 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0x7e, 0x00, 0xde, 0x00, 0xc6, 0x00,
91 0x80, 0xf1, 0x80, 0xf1, 0x00, 0xf3, 0x00, 0xf3};
92 #define pointercic_width 16
93 #define pointercic_height 16
94 #define pointercic_x_hot 2
95 #define pointercic_y_hot 0
96 static unsigned char pointercic_bits[] = {
97 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
98 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x70,
99 0x80, 0xf9, 0x80, 0xf9, 0x00, 0xfb, 0x00, 0x73};
100 #define pointercicmask_width 16
101 #define pointercicmask_height 16
102 static unsigned char pointercicmask_bits[] = {
103 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
104 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0x7e, 0x00, 0xce, 0x00, 0xc6, 0x70,
105 0x80, 0xf9, 0x80, 0xf9, 0x00, 0xfb, 0x00, 0x73};
106 #define pointerhvcic_width 16
107 #define pointerhvcic_height 16
108 #define pointerhvcic_x_hot 2
109 #define pointerhvcic_y_hot 0
110 static unsigned char pointerhvcic_bits[] = {
111 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
112 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x70,
113 0x80, 0xf9, 0x80, 0xf9, 0x00, 0xfb, 0x00, 0x73};
114 #define pointerhvcicmask_width 16
115 #define pointerhvcicmask_height 16
116 static unsigned char pointerhvcicmask_bits[] = {
117 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
118 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0x7e, 0x00, 0xce, 0x00, 0xc6, 0x70,
119 0x80, 0xf9, 0x80, 0xf9, 0x00, 0xfb, 0x00, 0x73};
120 #define pointerright_width 16
121 #define pointerright_height 16
122 #define pointerright_x_hot 2
123 #define pointerright_y_hot 0
124 static unsigned char pointerright_bits[] = {
125 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
126 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0xf0, 0xc4, 0xf0, 0xc0, 0x30,
127 0x80, 0x31, 0x80, 0x31, 0x00, 0xf3, 0x00, 0xf3};
128 #define pointerrightmask_width 16
129 #define pointerrightmask_height 16
130 static unsigned char pointerrightmask_bits[] = {
131 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
132 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0x7e, 0xf0, 0xce, 0xf0, 0xc6, 0x30,
133 0x80, 0x31, 0x80, 0x31, 0x00, 0xf3, 0x00, 0xf3};
134 #define pointerleft_width 16
135 #define pointerleft_height 16
136 #define pointerleft_x_hot 2
137 #define pointerleft_y_hot 0
138 static unsigned char pointerleft_bits[] = {
139 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
140 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0xf0, 0xc4, 0xf0, 0xc0, 0xc0,
141 0x80, 0xc1, 0x80, 0xc1, 0x00, 0xf3, 0x00, 0xf3};
142 #define pointerleftmask_width 16
143 #define pointerleftmask_height 16
144 static unsigned char pointerleftmask_bits[] = {
145 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
146 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0x7e, 0xf0, 0xce, 0xf0, 0xc6, 0xc0,
147 0x80, 0xc1, 0x80, 0xc1, 0x00, 0xf3, 0x00, 0xf3};
148 #else
149 #define pointertri_width 16
150 #define pointertri_height 24
151 #define pointertri_x_hot 2
152 #define pointertri_y_hot 0
153 static unsigned char pointertri_bits[] = {
154 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
155 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
156 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x08, 0x00, 0x1c,
157 0x00, 0x3e, 0x00, 0x7f, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
158 #define pointertrimask_width 16
159 #define pointertrimask_height 24
160 static unsigned char pointertrimask_bits[] = {
161 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
162 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xee, 0x01, 0xe6, 0x01,
163 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x07, 0x80, 0x07, 0x00, 0x0b, 0x00, 0x1c,
164 0x00, 0x3e, 0x00, 0x7f, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
165 #define pointersqr_width 16
166 #define pointersqr_height 24
167 #define pointersqr_x_hot 2
168 #define pointersqr_y_hot 0
169 static unsigned char pointersqr_bits[] = {
170 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
171 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
172 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7c,
173 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00};
174 #define pointersqrmask_width 16
175 #define pointersqrmask_height 24
176 static unsigned char pointersqrmask_bits[] = {
177 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
178 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xe6, 0x01, 0xe0, 0x01,
179 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x07, 0x80, 0x07, 0x00, 0x03, 0x00, 0x7c,
180 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00};
181 #define pointercic_width 16
182 #define pointercic_height 24
183 #define pointercic_x_hot 2
184 #define pointercic_y_hot 0
185 static unsigned char pointercic_bits[] = {
186 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
187 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
188 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x38, 0x00, 0x7c,
189 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00, 0x00};
190 #define pointercicmask_width 16
191 #define pointercicmask_height 24
192 static unsigned char pointercicmask_bits[] = {
193 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
194 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xee, 0x01, 0xe6, 0x01,
195 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x07, 0x80, 0x07, 0x00, 0x3b, 0x00, 0x7c,
196 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00, 0x00};
197 #define pointerhvcic_width 32
198 #define pointerhvcic_height 32
199 #define pointerhvcic_x_hot 2
200 #define pointerhvcic_y_hot 0
201 static unsigned char pointerhvcic_bits[] = {
202 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
203 0x3c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
204 0xfc, 0x01, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00,
205 0x6c, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
206 0x80, 0x11, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00,
207 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00,
208 0x00, 0xfe, 0x00, 0x00, 0xa0, 0xfe, 0x0a, 0x00, 0x00, 0xfe, 0x00, 0x00,
209 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
213 #define pointerhvcicmask_width 32
214 #define pointerhvcicmask_height 32
215 static unsigned char pointerhvcicmask_bits[] = {
216 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
217 0x7e, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00,
218 0xfe, 0x03, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00,
219 0xfe, 0x00, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00, 0xe6, 0x01, 0x00, 0x00,
220 0xc0, 0x13, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x17, 0x00, 0x00,
221 0x80, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00,
222 0x00, 0xfe, 0x00, 0x00, 0xa0, 0xfe, 0x0a, 0x00, 0x00, 0xfe, 0x00, 0x00,
223 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
227 #define pointerg2cic_width 32
228 #define pointerg2cic_height 32
229 #define pointerg2cic_x_hot 2
230 #define pointerg2cic_y_hot 0
231 static unsigned char pointerg2cic_bits[] = {
232 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
233 0x3c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
234 0xfc, 0x01, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00,
235 0x6c, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
236 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
237 0x00, 0x13, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00,
238 0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0xfe, 0x00, 0x00,
239 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
243 #define pointerg2cicmask_width 32
244 #define pointerg2cicmask_height 32
245 static unsigned char pointerg2cicmask_bits[] = {
246 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
247 0x7e, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00,
248 0xfe, 0x03, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00,
249 0xfe, 0x00, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00, 0xe6, 0x01, 0x00, 0x00,
250 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00,
251 0x80, 0x17, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00,
252 0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0xfe, 0x00, 0x00,
253 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
257 #define pointerright_width 16
258 #define pointerright_height 24
259 #define pointerright_x_hot 2
260 #define pointerright_y_hot 0
261 static unsigned char pointerright_bits[] = {
262 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
263 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
264 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x7b, 0x00, 0x78, 0x00, 0x60,
265 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x78, 0x00, 0x78};
266 #define pointerrightmask_width 16
267 #define pointerrightmask_height 24
268 static unsigned char pointerrightmask_bits[] = {
269 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
270 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xee, 0x01, 0xe6, 0x01,
271 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x03, 0x80, 0x7f, 0x00, 0x7f, 0x00, 0x60,
272 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x78, 0x00, 0x78};
273 #define pointerleft_width 16
274 #define pointerleft_height 24
275 #define pointerleft_x_hot 2
276 #define pointerleft_y_hot 0
277 static unsigned char pointerleft_bits[] = {
278 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
279 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
280 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x7b, 0x00, 0x78, 0x00, 0x18,
281 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x78, 0x00, 0x78};
282 #define pointerleftmask_width 16
283 #define pointerleftmask_height 24
284 static unsigned char pointerleftmask_bits[] = {
285 0x04, 0x00, 0x0c, 0x00, 0x3e, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
286 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xee, 0x01, 0xe6, 0x01,
287 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x03, 0x80, 0x7f, 0x00, 0x7f, 0x00, 0x18,
288 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x78, 0x00, 0x78};
289 #endif
290 #define pointercur_width 16
291 #define pointercur_height 16
292 #define pointercur_x_hot 2
293 #define pointercur_y_hot 0
294 static unsigned char pointercur_bits[] = {
295 0x04, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00,
296 0xfc, 0x01, 0xfc, 0x03, 0x7c, 0x00, 0x6c, 0x00, 0xc4, 0x00, 0xc0, 0x00,
297 0x80, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x03};
298 #define pointercurmask_width 16
299 #define pointercurmask_height 16
300 static unsigned char pointercurmask_bits[] = {
301 0x04, 0x00, 0x0c, 0x00, 0x3c, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01,
302 0xfe, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x00, 0xee, 0x01, 0xe6, 0x01,
303 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x07, 0x80, 0x07};
304 #if _CursorsMustBe16x16
305 #define rulercur_width 16
306 #define rulercur_height 16
307 #define rulercur_x_hot 0
308 #define rulercur_y_hot 3
309 static unsigned char rulercur_bits[] = {
310 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x3f, 0x40, 0x22, 0x40, 0x24, 0x40,
311 0x20, 0x40, 0x20, 0x49, 0x20, 0x49, 0x20, 0x49, 0xe0, 0x7f, 0x00, 0x00,
312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
313 #else
314 #define rulercur_width 24
315 #define rulercur_height 12
316 #define rulercur_x_hot 0
317 #define rulercur_y_hot 3
318 static unsigned char rulercur_bits[] = {
319 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x3f, 0x00, 0x80,
320 0x22, 0x00, 0x80, 0x24, 0x40, 0x80, 0x20, 0x40, 0x80, 0x20, 0x49, 0x92,
321 0x20, 0x49, 0x92, 0x20, 0x49, 0x92, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00};
322 #endif
323 #define pencur_width 16
324 #define pencur_height 16
325 #define pencur_x_hot 6
326 #define pencur_y_hot 0
327 static unsigned char pencur_bits[] = {
328 0x40, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0x50, 0x01, 0x50, 0x01, 0x50, 0x01,
329 0x48, 0x02, 0x48, 0x02, 0x44, 0x04, 0xa4, 0x04, 0x44, 0x04, 0x08, 0x02,
330 0xf0, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01};
331 #define pencurmask_width 16
332 #define pencurmask_height 16
333 static unsigned char pencurmask_bits[] = {
334 0x40, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x58, 0x03, 0x58, 0x03, 0x58, 0x03,
335 0x4c, 0x06, 0x4c, 0x06, 0x46, 0x0c, 0xe6, 0x0c, 0x46, 0x0c, 0x0c, 0x06,
336 0xf8, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03};
337 #define knifecur_width 16
338 #define knifecur_height 16
339 #define knifecur_x_hot 0
340 #define knifecur_y_hot 2
341 static unsigned char knifecur_bits[] = {
342 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, 0x20, 0x40, 0x21, 0x00, 0xee,
343 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
345 #define knifecurmask_width 16
346 #define knifecurmask_height 16
347 static unsigned char knifecurmask_bits[] = {
348 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xfe, 0xf8, 0xff, 0x00, 0xfe,
349 0x00, 0x7e, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
351 #define flipcur_width 16
352 #define flipcur_height 16
353 #define flipcur_x_hot 8
354 #define flipcur_y_hot 8
355 static unsigned char flipcur_bits[] = {
356 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x20, 0x09,
357 0x20, 0x09, 0x30, 0x11, 0x30, 0x09, 0x28, 0x21, 0x28, 0x09, 0x24, 0x41,
358 0x3c, 0x69, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00};
359 #define flipcurmask_width 16
360 #define flipcurmask_height 16
361 static unsigned char flipcurmask_bits[] = {
362 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x20, 0x09,
363 0x20, 0x09, 0x30, 0x19, 0x30, 0x19, 0x28, 0x29, 0x28, 0x29, 0x24, 0x49,
364 0x3c, 0x79, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00};
365 #define rotatecur_width 16
366 #define rotatecur_height 16
367 #define rotatecur_x_hot 3
368 #define rotatecur_y_hot 12
369 static unsigned char rotatecur_bits[] = {
370 0x08, 0x01, 0x88, 0x07, 0x08, 0x09, 0x08, 0x10, 0x08, 0x20, 0x08, 0x20,
371 0x08, 0x80, 0x08, 0x60, 0x08, 0x18, 0x08, 0x06, 0x88, 0x01, 0x68, 0x00,
372 0xff, 0xff, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00};
373 #define scalecur_width 16
374 #define scalecur_height 16
375 #define scalecur_x_hot 0
376 #define scalecur_y_hot 15
377 static unsigned char scalecur_bits[] = {
378 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x01, 0x04,
379 0x00, 0x00, 0x7f, 0x04, 0x41, 0x00, 0x41, 0x04, 0x41, 0x00, 0x41, 0x04,
380 0x41, 0x00, 0x41, 0x04, 0x41, 0x00, 0x7f, 0x05};
381 #define scalecurmask_width 16
382 #define scalecurmask_height 16
383 static unsigned char scalecurmask_bits[] = {
384 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x01, 0x04, 0x01, 0x04,
385 0x01, 0x04, 0x7f, 0x04, 0x41, 0x04, 0x41, 0x04, 0x41, 0x04, 0x41, 0x04,
386 0x41, 0x04, 0x41, 0x04, 0x41, 0x04, 0xff, 0x07};
387 #define skewcur_width 16
388 #define skewcur_height 16
389 #define skewcur_x_hot 0
390 #define skewcur_y_hot 15
391 static unsigned char skewcur_bits[] = {
392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
393 0x00, 0x00, 0x7f, 0x05, 0x41, 0x00, 0x49, 0x02, 0x41, 0x00, 0x45, 0x01,
394 0x41, 0x00, 0xc3, 0x00, 0x41, 0x00, 0x7f, 0x00};
395 #define skewcurmask_width 16
396 #define skewcurmask_height 16
397 static unsigned char skewcurmask_bits[] = {
398 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
399 0x00, 0x00, 0xff, 0x07, 0x49, 0x02, 0x49, 0x02, 0x45, 0x01, 0x45, 0x01,
400 0xc3, 0x00, 0xc3, 0x00, 0x41, 0x00, 0x7f, 0x00};
401 #define rotate3dcur_width 16
402 #define rotate3dcur_height 16
403 #define rotate3dcur_x_hot 1
404 #define rotate3dcur_y_hot 13
405 static unsigned char rotate3dcur_bits[] = {
406 0x02, 0x00, 0xfa, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x8a, 0x00,
407 0x8a, 0x00, 0xfa, 0x00, 0x02, 0x1c, 0xaa, 0x22, 0x02, 0xaa, 0xaa, 0x72,
408 0x02, 0x22, 0xff, 0x8f, 0x02, 0x02, 0x02, 0x3c};
409 #define perspectivecur_width 16
410 #define perspectivecur_height 16
411 #define perspectivecur_x_hot 0
412 #define perspectivecur_y_hot 15
413 static unsigned char perspectivecur_bits[] = {
414 0x41, 0x04, 0x41, 0x04, 0x21, 0x08, 0x21, 0x08, 0x11, 0x10, 0xf1, 0x1f,
415 0x31, 0x19, 0x29, 0x28, 0xa9, 0x2a, 0x25, 0x48, 0x65, 0x4c, 0x25, 0x48,
416 0xe3, 0x8f, 0x03, 0x80, 0x01, 0x00, 0xff, 0xff};
417 #define setwidthcur_width 16
418 #define setwidthcur_height 16
419 #define setwidthcur_x_hot 14
420 #define setwidthcur_y_hot 7
421 static unsigned char setwidthcur_bits[] = {
422 0x00, 0x00, 0x01, 0x40, 0x00, 0x40, 0x01, 0x40, 0x00, 0x40, 0x09, 0x48,
423 0x04, 0x50, 0xab, 0x6a, 0x04, 0x50, 0x09, 0x48, 0x00, 0x40, 0x01, 0x40,
424 0x00, 0x40, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00};
425 /*static unsigned char setwidthmask_bits[] = { */
426 /* 0x00, 0x00, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x09, 0x48, */
427 /* 0x05, 0x50, 0xff, 0x7f, 0x05, 0x50, 0x09, 0x48, 0x01, 0x40, 0x01, 0x40, */
428 /* 0x01, 0x40, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00}; */
429
430 #define updown_width 8
431 #define updown_height 15
432 #define updown_x_hot 3
433 #define updown_y_hot 7
434 static unsigned char updown_bits[] = {
435 0x08, 0x14, 0x36, 0x55, 0x14, 0x14, 0x14, 0x7f, 0x14, 0x14, 0x14, 0x55,
436 0x36, 0x14, 0x08};
437 #define leftright_width 16
438 #define leftright_height 9
439 #define leftright_x_hot 7
440 #define leftright_y_hot 4
441 static unsigned char leftright_bits[] = {
442 0x80, 0x00, 0x88, 0x08, 0x84, 0x10, 0xfe, 0x3f, 0x81, 0x40, 0xfe, 0x3f,
443 0x84, 0x10, 0x88, 0x08, 0x80, 0x00};
444 #define nesw_width 16
445 #define nesw_height 15
446 #define nesw_x_hot 8
447 #define nesw_y_hot 7
448 static unsigned char nesw_bits[] = {
449 0x00, 0xfc, 0x00, 0x90, 0x00, 0x88, 0x10, 0xc4, 0x20, 0xa2, 0x40, 0x91,
450 0x80, 0x08, 0x40, 0x05, 0x20, 0x02, 0x12, 0x05, 0x8a, 0x08, 0x46, 0x10,
451 0x22, 0x00, 0x12, 0x00, 0x7e, 0x00};
452 #define nwse_width 16
453 #define nwse_height 15
454 #define nwse_x_hot 8
455 #define nwse_y_hot 7
456 static unsigned char nwse_bits[] = {
457 0x7e, 0x00, 0x12, 0x00, 0x22, 0x00, 0x46, 0x10, 0x8a, 0x08, 0x12, 0x05,
458 0x20, 0x02, 0x40, 0x05, 0x80, 0x08, 0x40, 0x91, 0x20, 0xa2, 0x10, 0xc4,
459 0x00, 0x88, 0x00, 0x90, 0x00, 0xfc};
460 #define rectcur_width 16
461 #define rectcur_height 8
462 #define rectcur_x_hot 0
463 #define rectcur_y_hot 2
464 static unsigned char rectcur_bits[] = {
465 0x04, 0x00, 0x02, 0x00, 0xff, 0x7f, 0x12, 0x40, 0x14, 0x40, 0x10, 0x40,
466 0xf0, 0x7f, 0x00, 0x00};
467 #define elipsecur_width 16
468 #define elipsecur_height 8
469 #define elipsecur_x_hot 0
470 #define elipsecur_y_hot 2
471 static unsigned char elipsecur_bits[] = {
472 0x04, 0x00, 0x02, 0x00, 0x3f, 0x1f, 0xc2, 0x60, 0x24, 0x80, 0xc0, 0x60,
473 0x00, 0x1f, 0x00, 0x00};
474 #define polycur_width 16
475 #define polycur_height 16
476 #define polycur_x_hot 1
477 #define polycur_y_hot 7
478 static unsigned char polycur_bits[] = {
479 0x80, 0x01, 0x60, 0x06, 0x18, 0x18, 0x06, 0x60, 0x02, 0x40, 0x02, 0x40,
480 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x06, 0x60,
481 0x18, 0x18, 0x60, 0x06, 0x80, 0x01, 0x00, 0x00};
482 #define starcur_width 16
483 #define starcur_height 16
484 #define starcur_x_hot 0
485 #define starcur_y_hot 6
486 static unsigned char starcur_bits[] = {
487 0x10, 0x08, 0x70, 0x0e, 0x90, 0x09, 0x10, 0x08, 0x08, 0x10, 0x06, 0x60,
488 0x01, 0x80, 0x06, 0x60, 0x08, 0x10, 0x10, 0x08, 0x90, 0x09, 0x70, 0x0e,
489 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
490
491 #define pencil_width 16
492 #define pencil_height 16
493 #define pencil_x_hot 1
494 #define pencil_y_hot 1
495 static unsigned char pencil_bits[] = {
496 0x00, 0x00, 0x0e, 0x00, 0x16, 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00,
497 0x10, 0x01, 0x20, 0x02, 0x40, 0x04, 0x80, 0x08, 0x00, 0x11, 0x00, 0x22,
498 0x00, 0x64, 0x00, 0x98, 0x00, 0x50, 0x00, 0x20};
499 #define pencilmask_width 16
500 #define pencilmask_height 16
501 static unsigned char pencilmask_bits[] = {
502 0x00, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00,
503 0xf0, 0x01, 0xe0, 0x03, 0xc0, 0x07, 0x80, 0x0f, 0x00, 0x1f, 0x00, 0x3e,
504 0x00, 0x7c, 0x00, 0x98, 0x00, 0x50, 0x00, 0x20};
505 #define eyedropper_width 16
506 #define eyedropper_height 16
507 #define eyedropper_x_hot 0
508 #define eyedropper_y_hot 0
509 static unsigned char eyedropper_bits[] = {
510 0x02, 0x00, 0x0d, 0x00, 0x12, 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00,
511 0x10, 0x09, 0x20, 0x0e, 0x40, 0x0e, 0x80, 0x1f, 0x80, 0x7f, 0xc0, 0xff,
512 0x00, 0xfe, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x78};
513 #define eyedroppermask_width 16
514 #define eyedroppermask_height 16
515 static unsigned char eyedroppermask_bits[] = {
516 0x03, 0x00, 0x0f, 0x00, 0x1e, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00,
517 0xf0, 0x09, 0xe0, 0x0f, 0xc0, 0x0f, 0x80, 0x1f, 0x80, 0x7f, 0xc0, 0xff,
518 0x00, 0xfe, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x78};
519 #define shift_width 16
520 #define shift_height 16
521 #define shift_x_hot 7
522 #define shift_y_hot 7
523 static unsigned char shift_bits[] = {
524 0x80, 0x00, 0xc0, 0x01, 0xa0, 0x02, 0x80, 0x00, 0x80, 0x00, 0x84, 0x10,
525 0x82, 0x20, 0xff, 0x7f, 0x82, 0x20, 0x84, 0x10, 0x80, 0x00, 0x80, 0x00,
526 0xa0, 0x02, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00};
527 #define linecur_width 16
528 #define linecur_height 16
529 #define linecur_x_hot 0
530 #define linecur_y_hot 0
531 static unsigned char linecur_bits[] = {
532 0xc1, 0xff, 0x62, 0xa0, 0xc4, 0xff, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00,
533 0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08,
534 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80};
535 #if _CursorsMustBe16x16
536 #define hand_width 16
537 #define hand_height 16
538 #define hand_x_hot 8
539 #define hand_y_hot 12
540 static unsigned char hand_bits[] = {
541 0x80, 0x01, 0x40, 0x02, 0x48, 0x0e, 0x54, 0x12, 0x54, 0x52, 0x64, 0xb2,
542 0x68, 0xb2, 0x48, 0x92, 0x17, 0x80, 0x19, 0x40, 0x11, 0x40, 0x02, 0x40,
543 0x04, 0x20, 0x08, 0x20, 0x08, 0x20, 0x10, 0x10};
544 #define handmask_width 16
545 #define handmask_height 16
546 static unsigned char handmask_bits[] = {
547 0x80, 0x01, 0xc0, 0x03, 0xc8, 0x0f, 0xdc, 0x1f, 0xdc, 0x5f, 0xfc, 0xff,
548 0xf8, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x7f,
549 0xfc, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf0, 0x1f};
550 #else
551 #define hand_width 24
552 #define hand_height 24
553 #define hand_x_hot 11
554 #define hand_y_hot 15
555 static unsigned char hand_bits[] = {
556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
557 0x00, 0x12, 0x00, 0x40, 0x72, 0x00, 0xa0, 0x92, 0x00, 0xa0, 0x92, 0x02,
558 0x20, 0x93, 0x05, 0x40, 0x93, 0x05, 0x40, 0x92, 0x04, 0xb8, 0x00, 0x04,
559 0xc8, 0x00, 0x02, 0x88, 0x00, 0x02, 0x10, 0x00, 0x02, 0x20, 0x00, 0x01,
560 0x40, 0x00, 0x01, 0x40, 0x00, 0x01, 0x80, 0x80, 0x00, 0x00, 0x81, 0x00,
561 0x00, 0x82, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
562 #define handmask_width 24
563 #define handmask_height 24
564 static unsigned char handmask_bits[] = {
565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
566 0x00, 0x1e, 0x00, 0x40, 0x7e, 0x00, 0xe0, 0xfe, 0x00, 0xe0, 0xfe, 0x02,
567 0xe0, 0xff, 0x07, 0xc0, 0xff, 0x07, 0xc0, 0xff, 0x07, 0xb8, 0xff, 0x07,
568 0xf8, 0xff, 0x03, 0xf8, 0xff, 0x03, 0xf0, 0xff, 0x03, 0xe0, 0xff, 0x01,
569 0xc0, 0xff, 0x01, 0xc0, 0xff, 0x01, 0x80, 0xff, 0x00, 0x00, 0xff, 0x00,
570 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
571 #endif
572 #define filledrectcur_width 16
573 #define filledrectcur_height 8
574 #define filledrectcur_x_hot 0
575 #define filledrectcur_y_hot 2
576 static unsigned char filledrectcur_bits[] = {
577 0x04, 0x00, 0x02, 0x00, 0xff, 0xff, 0xe2, 0xff, 0xe4, 0xff, 0xe0, 0xff,
578 0xe0, 0xff, 0x00, 0x00};
579 #define filledelipsecur_width 16
580 #define filledelipsecur_height 8
581 #define filledelipsecur_x_hot 0
582 #define filledelipsecur_y_hot 2
583 static unsigned char filledelipsecur_bits[] = {
584 0x04, 0x00, 0x02, 0x00, 0x3f, 0x1f, 0xc2, 0x7f, 0xe4, 0xff, 0xc0, 0x7f,
585 0x00, 0x1f, 0x00, 0x00};
586 #define kerncur_width 16
587 #define kerncur_height 15
588 #define kerncur_x_hot 7
589 #define kerncur_y_hot 7
590 static unsigned char kerncur_bits[] = {
591 0x80, 0x00, 0x80, 0x00, 0xf8, 0x0f, 0x08, 0x08, 0x28, 0x0a, 0x28, 0x09,
592 0xaa, 0x28, 0x6f, 0x78, 0xaa, 0x28, 0x28, 0x09, 0x28, 0x0a, 0x08, 0x08,
593 0xf8, 0x0f, 0x80, 0x00, 0x80, 0x00};
594 #define rbearcur_width 16
595 #define rbearcur_height 15
596 #define rbearcur_x_hot 7
597 #define rbearcur_y_hot 7
598 static unsigned char rbearcur_bits[] = {
599 0x80, 0x00, 0x80, 0x00, 0xf8, 0x0f, 0x08, 0x08, 0xe8, 0x09, 0x28, 0x0a,
600 0x2a, 0x2a, 0xef, 0x79, 0x2a, 0x29, 0x28, 0x09, 0x28, 0x0a, 0x08, 0x08,
601 0xf8, 0x0f, 0x80, 0x00, 0x80, 0x00};
602 #define rbearmask_width 16
603 #define rbearmask_height 15
604 static unsigned char rbearmask_bits[] = {
605 0x80, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0xfc, 0x1f, 0xfc, 0x1f, 0xfe, 0x3f,
606 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xfc, 0x1f,
607 0xfc, 0x1f, 0xfc, 0x1f, 0x80, 0x00};
608 #define lbearcur_width 16
609 #define lbearcur_height 15
610 #define lbearcur_x_hot 7
611 #define lbearcur_y_hot 7
612 static unsigned char lbearcur_bits[] = {
613 0x80, 0x00, 0x80, 0x00, 0xf0, 0x07, 0x10, 0x04, 0x50, 0x04, 0x54, 0x14,
614 0x52, 0x24, 0x5f, 0x7c, 0x52, 0x24, 0x54, 0x14, 0xd0, 0x05, 0x10, 0x04,
615 0xf0, 0x07, 0x80, 0x00, 0x80, 0x00};
616 #define lbearmask_width 16
617 #define lbearmask_height 15
618 static unsigned char lbearmask_bits[] = {
619 0x80, 0x00, 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xfc, 0x1f, 0xfe, 0x3f,
620 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf8, 0x0f,
621 0xf8, 0x0f, 0xf8, 0x0f, 0x80, 0x00};
622
623 #define logo_width 32
624 #define logo_height 32
625 static unsigned char logo_bits[] = {
626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xf0, 0x00, 0x00,
627 0x6c, 0xb0, 0x01, 0x00, 0xe0, 0x86, 0xfb, 0x01, 0xc0, 0x28, 0x53, 0x03,
628 0xd0, 0x55, 0xa7, 0x02, 0x80, 0x01, 0x06, 0x03, 0xf0, 0xdf, 0x7f, 0x02,
629 0xf0, 0xdf, 0x7f, 0x03, 0x00, 0x03, 0x0c, 0x02, 0x30, 0x57, 0x5d, 0x03,
630 0x50, 0xa6, 0x98, 0x02, 0xb0, 0x4e, 0x39, 0x03, 0x50, 0xae, 0x3a, 0x02,
631 0xb0, 0x4c, 0x31, 0x03, 0x50, 0x9d, 0x72, 0x02, 0xb0, 0x18, 0x65, 0x02,
632 0x50, 0x39, 0xe0, 0x00, 0xb0, 0x72, 0xc6, 0x19, 0x50, 0xe5, 0x97, 0x1f,
633 0xb0, 0x8a, 0x23, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
634 0xf0, 0x3f, 0xff, 0x03, 0xe0, 0x3f, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00,
635 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xff, 0x03, 0xf0, 0x3f, 0xff, 0x03,
636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
637
638 #define prohibition_width 16
639 #define prohibition_height 16
640 #define prohibition_x_hot 7
641 #define prohibition_y_hot 7
642 static unsigned char prohibition_bits[] = {
643 0xc0, 0x01, 0x30, 0x06, 0x0c, 0x18, 0x0c, 0x10, 0x12, 0x20, 0x22, 0x20,
644 0x41, 0x40, 0x81, 0x40, 0x01, 0x41, 0x02, 0x22, 0x02, 0x24, 0x04, 0x18,
645 0x0c, 0x18, 0x30, 0x06, 0xc0, 0x01, 0x00, 0x00};
646 static unsigned char prohibitionmask_bits[] = {
647 0xc0, 0x01, 0xf0, 0x07, 0xfc, 0x1f, 0xfc, 0x1f, 0xfe, 0x3f, 0xfe, 0x3f,
648 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc, 0x1f,
649 0xfc, 0x1f, 0xf0, 0x07, 0xc0, 0x01, 0x00, 0x00};
650 #define ddcursor_width 16
651 #define ddcursor_height 16
652 #define ddcursor_x_hot 0
653 #define ddcursor_y_hot 0
654 static unsigned char ddcursor_bits[] = {
655 0x0f, 0x00, 0x03, 0x00, 0x05, 0x00, 0x09, 0x00, 0x10, 0x00, 0x00, 0x00,
656 0x00, 0x02, 0x00, 0x02, 0x60, 0xc6, 0x50, 0x2a, 0x50, 0x2a, 0xa0, 0xc6,
657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
658 #define featurescursor_width 16
659 #define featurescursor_height 16
660 #define featurescursor_x_hot 0
661 #define featurescursor_y_hot 0
662 static unsigned char featurescursor_bits[] = {
663 0x0f, 0x00, 0x03, 0x00, 0x05, 0x00, 0x09, 0x00, 0x10, 0x00, 0x00, 0x00,
664 0x04, 0x00, 0x02, 0x40, 0x67, 0xec, 0xf2, 0x4a, 0x12, 0x4a, 0x62, 0x94,
665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
666
667
InitCursors(void)668 void InitCursors(void) {
669 GWindow mask, image;
670 /* The XServer shipping with redhat 7.1 seems to suffer a protocol change */
671 /* with the red and blue members of XColor structure reversed */
672 /* So all of my cursors which should be red (to match the points drawn */
673 /* on the screen) come out blue. If I run the same image on another server*/
674 /* it's red. Oh well. */
675
676 image = GDrawCreateBitmap(NULL,magplus_width,magplus_height,magplus_bits);
677 ct_magplus = GDrawCreateCursor(image,image,0x000000,0xffffff,magplus_x_hot,
678 magplus_y_hot);
679 GDrawDestroyWindow(image);
680 image = GDrawCreateBitmap(NULL,magminus_width,magminus_height,magminus_bits);
681 ct_magminus = GDrawCreateCursor(image,image,0x000000,0xffffff,magminus_x_hot,
682 magminus_y_hot);
683 GDrawDestroyWindow(image);
684
685 image = GDrawCreateBitmap(NULL,pointercur_width,pointercur_height,pointercur_bits);
686 mask = GDrawCreateBitmap(NULL,pointercurmask_width,pointercurmask_height,pointercurmask_bits);
687 ct_mypointer = GDrawCreateCursor(image,mask,0x000000,0xffffff,pointercur_x_hot,
688 pointercur_y_hot);
689 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
690
691 image = GDrawCreateBitmap(NULL,pointercic_width,pointercic_height,pointercic_bits);
692 mask = GDrawCreateBitmap(NULL,pointercic_width,pointercic_height,pointercicmask_bits);
693 ct_circle = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointercic_x_hot,
694 pointercic_y_hot);
695 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
696 image = GDrawCreateBitmap(NULL,pointerhvcic_width,pointerhvcic_height,pointerhvcic_bits);
697 mask = GDrawCreateBitmap(NULL,pointerhvcic_width,pointerhvcic_height,pointerhvcicmask_bits);
698 ct_hvcircle = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointerhvcic_x_hot,
699 pointerhvcic_y_hot);
700 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
701 image = GDrawCreateBitmap(NULL,pointertri_width,pointertri_height,pointertri_bits);
702 mask = GDrawCreateBitmap(NULL,pointertri_width,pointertri_height,pointertrimask_bits);
703 ct_triangle = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointertri_x_hot,
704 pointertri_y_hot);
705 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
706 image = GDrawCreateBitmap(NULL,pointersqr_width,pointersqr_height,pointersqr_bits);
707 mask = GDrawCreateBitmap(NULL,pointersqr_width,pointersqr_height,pointersqrmask_bits);
708 ct_square = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointersqr_x_hot,
709 pointersqr_y_hot);
710 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
711 image = GDrawCreateBitmap(NULL,pencur_width,pencur_height,pencur_bits);
712 mask = GDrawCreateBitmap(NULL,pencur_width,pencur_height,pencurmask_bits);
713 ct_pen = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pencur_x_hot,
714 pencur_y_hot);
715 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
716 image = GDrawCreateBitmap(NULL,setwidthcur_width,setwidthcur_height,setwidthcur_bits);
717 /*mask = GDrawCreateBitmap(NULL,setwidthcur_width,setwidthcur_height,setwidthmask_bits);*/
718 ct_setwidth = GDrawCreateCursor(image,image,0xff0000,0xffffff,setwidthcur_x_hot,
719 setwidthcur_y_hot);
720 GDrawDestroyWindow(image);
721 #if _CursorsMustBe16x16
722 ct_g2circle = ct_hvcircle;
723 #else
724 image = GDrawCreateBitmap(NULL,pointerg2cic_width,pointerg2cic_height,pointerg2cic_bits);
725 mask = GDrawCreateBitmap(NULL,pointerg2cic_width,pointerg2cic_height,pointerg2cicmask_bits);
726 ct_g2circle = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointerg2cic_x_hot,
727 pointerg2cic_y_hot);
728 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
729 #endif
730
731 image = GDrawCreateBitmap(NULL,pointerleft_width,pointerleft_height,pointerleft_bits);
732 mask = GDrawCreateBitmap(NULL,pointerleft_width,pointerleft_height,pointerleftmask_bits);
733 ct_spiroleft = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointerleft_x_hot,
734 pointerleft_y_hot);
735 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
736 image = GDrawCreateBitmap(NULL,pointerright_width,pointerright_height,pointerright_bits);
737 mask = GDrawCreateBitmap(NULL,pointerright_width,pointerright_height,pointerrightmask_bits);
738 ct_spiroright = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pointerright_x_hot,
739 pointerright_y_hot);
740 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
741
742 image = GDrawCreateBitmap(NULL,rulercur_width,rulercur_height,rulercur_bits);
743 ct_ruler = GDrawCreateCursor(image,image,0x000000,0xffffff,rulercur_x_hot,
744 rulercur_y_hot);
745 GDrawDestroyWindow(image);
746
747 image = GDrawCreateBitmap(NULL,knifecur_width,knifecur_height,knifecur_bits);
748 mask = GDrawCreateBitmap(NULL,knifecur_width,knifecur_height,knifecurmask_bits);
749 ct_knife = GDrawCreateCursor(image,mask,0xff0000,0xffffff,knifecur_x_hot,
750 knifecur_y_hot);
751 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
752
753 image = GDrawCreateBitmap(NULL,flipcur_width,flipcur_height,flipcur_bits);
754 mask = GDrawCreateBitmap(NULL,flipcur_width,flipcur_height,flipcurmask_bits);
755 ct_flip = GDrawCreateCursor(image,image,0xff0000,0xffffff,flipcur_x_hot,
756 flipcur_y_hot);
757 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
758
759 image = GDrawCreateBitmap(NULL,rotatecur_width,rotatecur_height,rotatecur_bits);
760 ct_rotate = GDrawCreateCursor(image,image,0x000000,0xffffff,rotatecur_x_hot,
761 rotatecur_y_hot);
762 GDrawDestroyWindow(image);
763
764 image = GDrawCreateBitmap(NULL,scalecur_width,scalecur_height,scalecur_bits);
765 mask = GDrawCreateBitmap(NULL,scalecur_width,scalecur_height,scalecurmask_bits);
766 ct_scale = GDrawCreateCursor(image,image,0xff0000,0xffffff,scalecur_x_hot,
767 scalecur_y_hot);
768 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
769
770 image = GDrawCreateBitmap(NULL,skewcur_width,skewcur_height,skewcur_bits);
771 mask = GDrawCreateBitmap(NULL,skewcur_width,skewcur_height,skewcurmask_bits);
772 ct_skew = GDrawCreateCursor(image,image,0xff0000,0xffffff,skewcur_x_hot,
773 skewcur_y_hot);
774 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
775
776 image = GDrawCreateBitmap(NULL,rotate3dcur_width,rotate3dcur_height,rotate3dcur_bits);
777 ct_3drotate = GDrawCreateCursor(image,image,0xff0000,0xffffff,rotate3dcur_x_hot,
778 rotate3dcur_y_hot);
779 GDrawDestroyWindow(image);
780
781 image = GDrawCreateBitmap(NULL,perspectivecur_width,perspectivecur_height,perspectivecur_bits);
782 ct_perspective = GDrawCreateCursor(image,image,0xff0000,0xffffff,perspectivecur_x_hot,
783 perspectivecur_y_hot);
784 GDrawDestroyWindow(image);
785
786 image = GDrawCreateBitmap(NULL,rectcur_width,rectcur_height,rectcur_bits);
787 ct_rect = GDrawCreateCursor(image,image,0xff0000,0xffffff,rectcur_x_hot,
788 rectcur_y_hot);
789 GDrawDestroyWindow(image);
790 image = GDrawCreateBitmap(NULL,elipsecur_width,elipsecur_height,elipsecur_bits);
791 ct_elipse = GDrawCreateCursor(image,image,0xff0000,0xffffff,elipsecur_x_hot,
792 elipsecur_y_hot);
793 GDrawDestroyWindow(image);
794 image = GDrawCreateBitmap(NULL,polycur_width,polycur_height,polycur_bits);
795 ct_poly = GDrawCreateCursor(image,image,0xff0000,0xffffff,polycur_x_hot,
796 polycur_y_hot);
797 GDrawDestroyWindow(image);
798 image = GDrawCreateBitmap(NULL,starcur_width,starcur_height,starcur_bits);
799 ct_star = GDrawCreateCursor(image,image,0xff0000,0xffffff,starcur_x_hot,
800 starcur_y_hot);
801 GDrawDestroyWindow(image);
802
803 image = GDrawCreateBitmap(NULL,nwse_width,nwse_height,nwse_bits);
804 ct_nwse = GDrawCreateCursor(image,image,0xff0000,0xffffff,nwse_x_hot,
805 nwse_y_hot);
806 GDrawDestroyWindow(image);
807 image = GDrawCreateBitmap(NULL,nesw_width,nesw_height,nesw_bits);
808 ct_nesw = GDrawCreateCursor(image,image,0xff0000,0xffffff,nesw_x_hot,
809 nesw_y_hot);
810 GDrawDestroyWindow(image);
811 image = GDrawCreateBitmap(NULL,leftright_width,leftright_height,leftright_bits);
812 ct_leftright = GDrawCreateCursor(image,image,0xff0000,0xffffff,leftright_x_hot,
813 leftright_y_hot);
814 GDrawDestroyWindow(image);
815 image = GDrawCreateBitmap(NULL,updown_width,updown_height,updown_bits);
816 ct_updown = GDrawCreateCursor(image,image,0xff0000,0xffffff,updown_x_hot,
817 updown_y_hot);
818 GDrawDestroyWindow(image);
819
820 image = GDrawCreateBitmap(NULL,pencil_width,pencil_height,pencil_bits);
821 mask = GDrawCreateBitmap(NULL,pencil_width,pencil_height,pencilmask_bits);
822 ct_pencil = GDrawCreateCursor(image,mask,0xff0000,0xffffff,pencil_x_hot,
823 pencil_y_hot);
824 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
825 image = GDrawCreateBitmap(NULL,eyedropper_width,eyedropper_height,eyedropper_bits);
826 mask = GDrawCreateBitmap(NULL,eyedropper_width,eyedropper_height,eyedroppermask_bits);
827 ct_eyedropper = GDrawCreateCursor(image,mask,0xff0000,0xffffff,eyedropper_x_hot,
828 eyedropper_y_hot);
829 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
830 image = GDrawCreateBitmap(NULL,shift_width,shift_height,shift_bits);
831 ct_shift = GDrawCreateCursor(image,image,0xff0000,0xffffff,shift_x_hot,
832 shift_y_hot);
833 GDrawDestroyWindow(image);
834 image = GDrawCreateBitmap(NULL,linecur_width,linecur_height,linecur_bits);
835 ct_line = GDrawCreateCursor(image,image,0xff0000,0xffffff,linecur_x_hot,
836 linecur_y_hot);
837 GDrawDestroyWindow(image);
838 image = GDrawCreateBitmap(NULL,hand_width,hand_height,hand_bits);
839 mask = GDrawCreateBitmap(NULL,hand_width,hand_height,handmask_bits);
840 ct_myhand = GDrawCreateCursor(image,mask,0xff0000,0xffffff,hand_x_hot,
841 hand_y_hot);
842 GDrawDestroyWindow(image); GDrawDestroyWindow(mask);
843 image = GDrawCreateBitmap(NULL,filledrectcur_width,filledrectcur_height,filledrectcur_bits);
844 ct_filledrect = GDrawCreateCursor(image,image,0xff0000,0xffffff,filledrectcur_x_hot,
845 filledrectcur_y_hot);
846 GDrawDestroyWindow(image);
847 image = GDrawCreateBitmap(NULL,filledelipsecur_width,filledelipsecur_height,filledelipsecur_bits);
848 ct_filledelipse = GDrawCreateCursor(image,image,0xff0000,0xffffff,filledelipsecur_x_hot,
849 filledelipsecur_y_hot);
850 GDrawDestroyWindow(image);
851
852 image = GDrawCreateBitmap(NULL,kerncur_width,kerncur_height,kerncur_bits);
853 mask = GDrawCreateBitmap(NULL,rbearmask_width,rbearmask_height,rbearmask_bits);
854 ct_kerning = GDrawCreateCursor(image,mask,0xff0000,0xffffff,kerncur_x_hot,
855 kerncur_y_hot);
856 GDrawDestroyWindow(image);
857 image = GDrawCreateBitmap(NULL,rbearcur_width,rbearcur_height,rbearcur_bits);
858 ct_rbearing = GDrawCreateCursor(image,mask,0xff0000,0xffffff,rbearcur_x_hot,
859 rbearcur_y_hot);
860 GDrawDestroyWindow(image);
861 GDrawDestroyWindow(mask);
862 image = GDrawCreateBitmap(NULL,lbearcur_width,lbearcur_height,lbearcur_bits);
863 mask = GDrawCreateBitmap(NULL,lbearmask_width,lbearmask_height,lbearmask_bits);
864 ct_lbearing = GDrawCreateCursor(image,mask,0xff0000,0xffffff,lbearcur_x_hot,
865 lbearcur_y_hot);
866 GDrawDestroyWindow(image);
867 GDrawDestroyWindow(mask);
868
869 logo_icon = GDrawCreateBitmap(NULL,logo_width,logo_height,logo_bits);
870 GDrawSetDefaultIcon(logo_icon);
871
872 image = GDrawCreateBitmap(NULL,prohibition_width,prohibition_height,prohibition_bits);
873 mask = GDrawCreateBitmap(NULL,prohibition_width,prohibition_height,prohibitionmask_bits);
874 ct_prohibition = GDrawCreateCursor(image,mask,0xff0000,0xffffff,prohibition_x_hot,
875 prohibition_y_hot);
876 GDrawDestroyWindow(image);
877 GDrawDestroyWindow(mask);
878 image = GDrawCreateBitmap(NULL,ddcursor_width,ddcursor_height,ddcursor_bits);
879 ct_ddcursor = GDrawCreateCursor(image,image,0xff0000,0xffffff,ddcursor_x_hot,
880 ddcursor_y_hot);
881 GDrawDestroyWindow(image);
882 image = GDrawCreateBitmap(NULL,featurescursor_width,featurescursor_height,featurescursor_bits);
883 ct_features = GDrawCreateCursor(image,image,0xff0000,0xffffff,featurescursor_x_hot,
884 featurescursor_y_hot);
885 GDrawDestroyWindow(image);
886 }
887