97 double starttab[] = {1.0, 4.0, 2.0, 1.33333};
99 dcount = cairo_get_dash_count (in);
100 cairo_get_dash (in, cdash, & offset);
102 width = cairo_get_line_width (in);
103 cairo_set_line_width (in, 1.0);
104 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 1.0);
107 cairo_move_to (in,
x + size/2.0,
y - size/2.0);
108 cairo_line_to (in,
x - size/2.0,
y + size/2.0);
109 cairo_move_to (in,
x + size/2.0,
y + size/2.0);
110 cairo_line_to (in,
x - size/2.0,
y - size/2.0);
113 if (theglyph > 1 && theglyph < 7)
115 cairo_move_to (in,
x,
y);
116 cairo_rectangle (in,
x - size/2.0,
y - size/2.0, size, size);
121 else if (theglyph == 3)
124 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
125 cairo_move_to (in,
x,
y);
126 cairo_rectangle (in,
x - size/2.0,
y - size/2.0, size, size);
129 else if (theglyph == 4)
132 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
133 cairo_move_to (in,
x,
y);
134 cairo_rectangle (in,
x - size/2.0,
y - size/2.0, size, size);
137 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
138 cairo_move_to (in,
x,
y);
139 cairo_rectangle (in,
x - size/2.0,
y - size/2.0, size, size);
142 else if (theglyph == 5)
145 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
146 cairo_move_to (in,
x,
y);
147 cairo_rectangle (in,
x - size/2.0,
y - size/2.0, size, size);
152 else if (theglyph >= 7 && theglyph < 12)
161 else if (theglyph == 8)
164 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
168 else if (theglyph == 9)
171 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
175 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
179 else if (theglyph == 10)
182 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
188 else if (theglyph >= 12 && theglyph < 17)
190 cairo_arc (in,
x,
y, size, 0.0, 2*
pi);
195 else if (theglyph == 13)
198 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
199 cairo_arc (in,
x,
y, size, 0.0, 2*
pi);
202 else if (theglyph == 14)
205 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
206 cairo_arc (in,
x,
y, size, 0.0, 2*
pi);
209 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
210 cairo_arc (in,
x,
y, size, 0.0, 2*
pi);
213 else if (theglyph == 15)
216 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
217 cairo_arc (in,
x,
y, size, 0.0, 2*
pi);
222 else if (theglyph > 16)
225 idglyph = (theglyph - 17) / 5;
226 start = starttab[idglyph];
228 if (theglyph == 18 + idglyph*5)
232 else if (theglyph == 19 + idglyph*5)
235 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
239 else if (theglyph == 20 + idglyph*5)
242 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
246 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 0.25);
250 else if (theglyph == 21 + idglyph*5)
253 cairo_set_source_rgba (in, 1.0, 1.0, 1.0, 1.0);
259 cairo_set_dash (in, cdash, dcount, offset);
260 cairo_set_source_rgba (in, gcolor.
red, gcolor.
green, gcolor.
blue, 1.0);
261 cairo_set_line_width (in, width);