Applied one other trick to use the Tk command "font measure" to
[xcircuit.git] / cursors.h
blob195bbac4eefc724b950a01bb9b5364d094eefd17
1 /*------------------------------------------------------------------*/
2 /* cursors.h --- definitions for bitmapped cursors used by xcircuit */
3 /* Copyright (c) 2002 Tim Edwards, Johns Hopkins University */
4 /*------------------------------------------------------------------*/
6 #define arrow_width 16
7 #define arrow_height 18
8 #define arrow_x_hot 0
9 #define arrow_y_hot 1
10 static u_char arrow_bits[] = {
11 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x1e, 0x00, 0xfe, 0x00, 0xfc, 0x07,
12 0xfc, 0x01, 0x78, 0x00, 0xf8, 0x00, 0xb8, 0x01, 0x10, 0x03, 0x10, 0x06,
13 0x00, 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x20, 0x00, 0x00};
14 static u_char arrowmask_bits[] = {
15 0x00, 0x00, 0x07, 0x00, 0x1f, 0x00, 0xff, 0x00, 0xfe, 0x07, 0xfe, 0x0f,
16 0xfc, 0x07, 0xfc, 0x01, 0xfc, 0x01, 0xf8, 0x03, 0xb8, 0x07, 0x38, 0x0f,
17 0x10, 0x1e, 0x00, 0x3c, 0x00, 0x78, 0x00, 0xf0, 0x00, 0x70, 0x00, 0x20};
18 #define scissors_width 20
19 #define scissors_height 14
20 #define scissors_x_hot 8
21 #define scissors_y_hot 6
22 static u_char scissors_bits[] = {
23 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x1c, 0xc0, 0x03, 0xf0, 0x20, 0x04,
24 0xc0, 0x23, 0x04, 0x00, 0xaf, 0x03, 0xff, 0x7b, 0x00, 0xfe, 0x3f, 0x00,
25 0x00, 0xe0, 0x01, 0x00, 0x80, 0x02, 0x00, 0x40, 0x04, 0x00, 0x40, 0x04,
26 0x00, 0x80, 0x03, 0x00, 0x00, 0x00};
27 static u_char scissorsmask_bits[] = {
28 0x06, 0x00, 0x00, 0x1f, 0xc0, 0x03, 0xfe, 0xe0, 0x07, 0xfc, 0x73, 0x0e,
29 0xf0, 0x3f, 0x0c, 0xc0, 0xff, 0x07, 0xff, 0xfb, 0x03, 0xff, 0xff, 0x01,
30 0xfe, 0xff, 0x03, 0x00, 0xe0, 0x07, 0x00, 0x60, 0x0c, 0x00, 0xe0, 0x0e,
31 0x00, 0xc0, 0x07, 0x00, 0x80, 0x03};
32 #define cross_width 17
33 #define cross_height 17
34 #define cross_x_hot 8
35 #define cross_y_hot 8
36 static u_char cross_bits[] = {
37 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
38 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
39 0xff, 0xff, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
40 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
41 0x00, 0x01, 0x00};
42 static u_char crossmask_bits[] = {
43 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00,
44 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xff, 0xff, 0x01,
45 0xff, 0xff, 0x01, 0xff, 0xff, 0x01, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00,
46 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00,
47 0x80, 0x03, 0x00};
48 #define copy_width 17
49 #define copy_height 17
50 #define copy_x_hot 8
51 #define copy_y_hot 8
52 static u_char copy_bits[] = {
53 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x03, 0x80, 0x01, 0x07, 0xc0, 0x01,
54 0x0d, 0x60, 0x01, 0x19, 0x30, 0x01, 0x31, 0x18, 0x01, 0x61, 0x0c, 0x01,
55 0xc1, 0x06, 0x01, 0x61, 0x0c, 0x01, 0x31, 0x18, 0x01, 0x19, 0x30, 0x01,
56 0x0d, 0x60, 0x01, 0x07, 0xc0, 0x01, 0x03, 0x80, 0x01, 0x01, 0x00, 0x01,
57 0x00, 0x00, 0x00};
58 static u_char copymask_bits[] = {
59 0x01, 0x00, 0x01, 0x03, 0x80, 0x01, 0x07, 0xc0, 0x01, 0x0f, 0xe0, 0x01,
60 0x1f, 0xf0, 0x01, 0x3d, 0x78, 0x01, 0x79, 0x3c, 0x01, 0xf1, 0x1e, 0x01,
61 0xe1, 0x0e, 0x01, 0xf1, 0x1e, 0x01, 0x79, 0x3c, 0x01, 0x3d, 0x78, 0x01,
62 0x1f, 0xf0, 0x01, 0x0f, 0xe0, 0x01, 0x07, 0xc0, 0x01, 0x03, 0x80, 0x01,
63 0x01, 0x00, 0x01};
64 #define question_width 17
65 #define question_height 17
66 #define question_x_hot 8
67 #define question_y_hot 5
68 static u_char question_bits[] = {
69 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xe0, 0x0f, 0x00, 0x70, 0x1c, 0x00,
70 0x30, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x00,
71 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00,
73 0x00, 0x00, 0x00};
74 static u_char questionmask_bits[] = {
75 0xc0, 0x07, 0x00, 0xe0, 0x0f, 0x00, 0xf0, 0x1f, 0x00, 0x70, 0x3c, 0x00,
76 0x70, 0x38, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x0f, 0x00,
77 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x01, 0x00,
78 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x01, 0x00,
79 0x00, 0x00, 0x00};
80 #define circle_width 17
81 #define circle_height 17
82 #define circle_x_hot 8
83 #define circle_y_hot 8
84 static u_char circle_bits[] = {
85 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x70, 0x1c, 0x00, 0x18, 0x30, 0x00,
86 0x0c, 0x60, 0x00, 0x04, 0x40, 0x00, 0x06, 0xc0, 0x00, 0x82, 0x83, 0x00,
87 0x82, 0x83, 0x00, 0x82, 0x83, 0x00, 0x06, 0xc0, 0x00, 0x04, 0x40, 0x00,
88 0x0c, 0x60, 0x00, 0x18, 0x30, 0x00, 0x70, 0x1c, 0x00, 0xc0, 0x07, 0x00,
89 0x00, 0x00, 0x00};
90 static u_char circlemask_bits[] = {
91 0xc0, 0x07, 0x00, 0xf0, 0x1f, 0x00, 0x7c, 0x7c, 0x00, 0x1c, 0x70, 0x00,
92 0x0e, 0xe0, 0x00, 0x06, 0xc0, 0x00, 0x07, 0xc1, 0x01, 0x83, 0x83, 0x01,
93 0xc3, 0x87, 0x01, 0x83, 0x83, 0x01, 0x07, 0xc1, 0x01, 0x06, 0xc0, 0x00,
94 0x0e, 0xe0, 0x00, 0x1c, 0x70, 0x00, 0x7c, 0x7c, 0x00, 0xf0, 0x1f, 0x00,
95 0xc0, 0x07, 0x00};
96 #define exx_width 17
97 #define exx_height 17
98 #define exx_x_hot 8
99 #define exx_y_hot 8
100 static u_char exx_bits[] = {
101 0x00, 0x00, 0x00, 0x06, 0xc0, 0x00, 0x0e, 0xe0, 0x00, 0x1c, 0x70, 0x00,
102 0x18, 0x38, 0x00, 0x30, 0x08, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00,
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x20, 0x18, 0x00,
104 0x38, 0x30, 0x00, 0x1c, 0x70, 0x00, 0x0e, 0xe0, 0x00, 0x06, 0xc0, 0x00,
105 0x00, 0x00, 0x00};
106 static u_char exxmask_bits[] = {
107 0x0f, 0xe0, 0x01, 0x1f, 0xf0, 0x01, 0x3f, 0xf8, 0x01, 0x3f, 0xfc, 0x01,
108 0x7e, 0xfc, 0x00, 0xfc, 0x7e, 0x00, 0xf8, 0x1e, 0x00, 0xe0, 0x0e, 0x00,
109 0x00, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0xf0, 0x3e, 0x00, 0xfc, 0x7e, 0x00,
110 0x7e, 0xfc, 0x00, 0x7f, 0xf8, 0x01, 0x3f, 0xf8, 0x01, 0x1f, 0xf0, 0x01,
111 0x0f, 0xe0, 0x01};
112 #define rot_width 17
113 #define rot_height 17
114 static u_char rot_bits[] = {
115 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xf0, 0x1f, 0x00, 0x78, 0x3d, 0x00,
116 0x1c, 0x71, 0x00, 0x0c, 0x61, 0x00, 0x0e, 0xe1, 0x00, 0x06, 0xc1, 0x00,
117 0x06, 0xc1, 0x00, 0x06, 0xc1, 0x00, 0x0e, 0xe1, 0x00, 0x0c, 0x61, 0x00,
118 0x1c, 0x71, 0x00, 0x78, 0x3d, 0x00, 0xf0, 0x1f, 0x00, 0xc0, 0x07, 0x00,
119 0x00, 0x00, 0x00};
120 static u_char rotmask_bits[] = {
121 0xc0, 0x07, 0x00, 0xf0, 0x1f, 0x00, 0xf8, 0x3f, 0x00, 0xfc, 0x7f, 0x00,
122 0xfe, 0xff, 0x00, 0x9e, 0xf3, 0x00, 0x9f, 0xf3, 0x01, 0x8f, 0xe3, 0x01,
123 0x8f, 0xe3, 0x01, 0x8f, 0xe3, 0x01, 0x9f, 0xf3, 0x01, 0x9e, 0xf3, 0x00,
124 0xfe, 0xff, 0x00, 0xfc, 0x7f, 0x00, 0xf8, 0x3f, 0x00, 0xf0, 0x1f, 0x00,
125 0xc0, 0x07, 0x00};
126 #define hand_width 20
127 #define hand_height 20
128 #define hand_x_hot 7
129 #define hand_y_hot 12
130 static unsigned char hand_bits[] = {
131 0x80, 0x0d, 0x00, 0xb0, 0x0d, 0x00, 0xb0, 0x0d, 0x00, 0xb0, 0x0d, 0x00,
132 0xb6, 0x0d, 0x00, 0xb6, 0x0d, 0x00, 0xb6, 0x0d, 0x00, 0xf6, 0x0f, 0x03,
133 0xfe, 0x8f, 0x03, 0xfe, 0xcf, 0x03, 0xfc, 0xef, 0x01, 0xfc, 0xef, 0x00,
134 0xfc, 0xff, 0x00, 0xfc, 0x7f, 0x00, 0xfc, 0x3f, 0x00, 0xf8, 0x1f, 0x00,
135 0xf8, 0x1f, 0x00, 0xf0, 0x0f, 0x00, 0xe0, 0x0f, 0x00, 0xe0, 0x0f, 0x00};
136 static unsigned char handmask_bits[] = {
137 0x80, 0x0d, 0x00, 0xb0, 0x0d, 0x00, 0xb0, 0x0d, 0x00, 0xb0, 0x0d, 0x00,
138 0xb6, 0x0d, 0x00, 0xb6, 0x0d, 0x00, 0xb6, 0x0d, 0x00, 0xf6, 0x0f, 0x03,
139 0xfe, 0x8f, 0x03, 0xfe, 0xcf, 0x03, 0xfc, 0xef, 0x01, 0xfc, 0xef, 0x00,
140 0xfc, 0xff, 0x00, 0xfc, 0x7f, 0x00, 0xfc, 0x3f, 0x00, 0xf8, 0x1f, 0x00,
141 0xf8, 0x1f, 0x00, 0xf0, 0x0f, 0x00, 0xe0, 0x0f, 0x00, 0xe0, 0x0f, 0x00};