Rev 1892 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1892 | Rev 3959 | ||
---|---|---|---|
Line 39... | Line 39... | ||
39 | #include "cairo-clip-private.h" |
39 | #include "cairo-clip-private.h" |
Line 40... | Line 40... | ||
40 | 40 | ||
41 | struct _cairo_gstate { |
41 | struct _cairo_gstate { |
Line -... | Line 42... | ||
- | 42 | cairo_operator_t op; |
|
42 | cairo_operator_t op; |
43 | |
43 | 44 | double opacity; |
|
Line 44... | Line 45... | ||
44 | double tolerance; |
45 | double tolerance; |
Line 52... | Line 53... | ||
52 | cairo_scaled_font_t *scaled_font; /* Specific to the current CTM */ |
53 | cairo_scaled_font_t *scaled_font; /* Specific to the current CTM */ |
53 | cairo_scaled_font_t *previous_scaled_font; /* holdover */ |
54 | cairo_scaled_font_t *previous_scaled_font; /* holdover */ |
54 | cairo_matrix_t font_matrix; |
55 | cairo_matrix_t font_matrix; |
55 | cairo_font_options_t font_options; |
56 | cairo_font_options_t font_options; |
Line 56... | Line 57... | ||
56 | 57 | ||
Line 57... | Line 58... | ||
57 | cairo_clip_t clip; |
58 | cairo_clip_t *clip; |
58 | 59 | ||
59 | cairo_surface_t *target; /* The target to which all rendering is directed */ |
60 | cairo_surface_t *target; /* The target to which all rendering is directed */ |
Line 86... | Line 87... | ||
86 | 87 | ||
87 | cairo_private cairo_status_t |
88 | cairo_private cairo_status_t |
Line 88... | Line 89... | ||
88 | _cairo_gstate_restore (cairo_gstate_t **gstate, cairo_gstate_t **freelist); |
89 | _cairo_gstate_restore (cairo_gstate_t **gstate, cairo_gstate_t **freelist); |
89 | 90 | ||
Line 90... | Line 91... | ||
90 | cairo_private cairo_bool_t |
91 | cairo_private cairo_bool_t |
91 | _cairo_gstate_is_redirected (cairo_gstate_t *gstate); |
92 | _cairo_gstate_is_group (cairo_gstate_t *gstate); |
Line 92... | Line 93... | ||
92 | 93 | ||
93 | cairo_private cairo_status_t |
94 | cairo_private cairo_status_t |
Line 94... | Line 95... | ||
94 | _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child); |
95 | _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child); |
95 | - | ||
96 | cairo_private cairo_surface_t * |
- | |
97 | _cairo_gstate_get_target (cairo_gstate_t *gstate); |
- | |
98 | 96 | ||
Line 99... | Line 97... | ||
99 | cairo_private cairo_surface_t * |
97 | cairo_private cairo_surface_t * |
100 | _cairo_gstate_get_parent_target (cairo_gstate_t *gstate); |
98 | _cairo_gstate_get_target (cairo_gstate_t *gstate); |
Line 116... | Line 114... | ||
116 | 114 | ||
117 | cairo_private cairo_operator_t |
115 | cairo_private cairo_operator_t |
Line 118... | Line 116... | ||
118 | _cairo_gstate_get_operator (cairo_gstate_t *gstate); |
116 | _cairo_gstate_get_operator (cairo_gstate_t *gstate); |
- | 117 | ||
- | 118 | cairo_private cairo_status_t |
|
- | 119 | _cairo_gstate_set_opacity (cairo_gstate_t *gstate, double opacity); |
|
- | 120 | ||
- | 121 | cairo_private double |
|
- | 122 | _cairo_gstate_get_opacity (cairo_gstate_t *gstate); |
|
119 | 123 | ||
Line 120... | Line 124... | ||
120 | cairo_private cairo_status_t |
124 | cairo_private cairo_status_t |
121 | _cairo_gstate_set_tolerance (cairo_gstate_t *gstate, double tolerance); |
125 | _cairo_gstate_set_tolerance (cairo_gstate_t *gstate, double tolerance); |
Line 203... | Line 207... | ||
203 | if (! gstate->is_identity) |
207 | if (! gstate->is_identity) |
204 | _do_cairo_gstate_user_to_backend (gstate, x, y); |
208 | _do_cairo_gstate_user_to_backend (gstate, x, y); |
205 | } |
209 | } |
Line 206... | Line 210... | ||
206 | 210 | ||
- | 211 | cairo_private void |
|
- | 212 | _do_cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate, double *x, double *y); |
|
- | 213 | ||
- | 214 | static inline void |
|
- | 215 | _cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate, double *x, double *y) |
|
- | 216 | { |
|
- | 217 | if (! gstate->is_identity) |
|
- | 218 | _do_cairo_gstate_user_to_backend_distance (gstate, x, y); |
|
- | 219 | } |
|
- | 220 | ||
207 | cairo_private void |
221 | cairo_private void |
Line 208... | Line 222... | ||
208 | _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y); |
222 | _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y); |
209 | 223 | ||
210 | static inline void |
224 | static inline void |
211 | _cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y) |
225 | _cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y) |
212 | { |
226 | { |
213 | if (! gstate->is_identity) |
227 | if (! gstate->is_identity) |
Line 214... | Line 228... | ||
214 | _do_cairo_gstate_backend_to_user (gstate, x, y); |
228 | _do_cairo_gstate_backend_to_user (gstate, x, y); |
- | 229 | } |
|
- | 230 | ||
- | 231 | cairo_private void |
|
- | 232 | _do_cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate, double *x, double *y); |
|
- | 233 | ||
- | 234 | static inline void |
|
- | 235 | _cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate, double *x, double *y) |
|
- | 236 | { |
|
- | 237 | if (! gstate->is_identity) |
|
- | 238 | _do_cairo_gstate_backend_to_user_distance (gstate, x, y); |
|
215 | } |
239 | } |
216 | 240 | ||
217 | cairo_private void |
241 | cairo_private void |
218 | _cairo_gstate_backend_to_user_rectangle (cairo_gstate_t *gstate, |
242 | _cairo_gstate_backend_to_user_rectangle (cairo_gstate_t *gstate, |
Line 298... | Line 322... | ||
298 | double y, |
322 | double y, |
299 | double width, |
323 | double width, |
300 | double height); |
324 | double height); |
Line 301... | Line 325... | ||
301 | 325 | ||
302 | cairo_private cairo_status_t |
- | |
303 | _cairo_gstate_select_font_face (cairo_gstate_t *gstate, |
- | |
304 | const char *family, |
- | |
305 | cairo_font_slant_t slant, |
- | |
306 | cairo_font_weight_t weight); |
- | |
307 | - | ||
308 | cairo_private cairo_status_t |
326 | cairo_private cairo_status_t |
309 | _cairo_gstate_set_font_size (cairo_gstate_t *gstate, |
327 | _cairo_gstate_set_font_size (cairo_gstate_t *gstate, |
Line 310... | Line 328... | ||
310 | double size); |
328 | double size); |
311 | 329 | ||
Line 340... | Line 358... | ||
340 | cairo_private cairo_status_t |
358 | cairo_private cairo_status_t |
341 | _cairo_gstate_set_font_face (cairo_gstate_t *gstate, |
359 | _cairo_gstate_set_font_face (cairo_gstate_t *gstate, |
342 | cairo_font_face_t *font_face); |
360 | cairo_font_face_t *font_face); |
Line 343... | Line 361... | ||
343 | 361 | ||
344 | cairo_private cairo_status_t |
- | |
345 | _cairo_gstate_text_to_glyphs (cairo_gstate_t *gstate, |
- | |
346 | double x, |
- | |
347 | double y, |
- | |
348 | const char *utf8, |
- | |
349 | int utf8_len, |
- | |
350 | cairo_glyph_t **glyphs, |
- | |
351 | int *num_glyphs, |
- | |
352 | cairo_text_cluster_t **clusters, |
- | |
353 | int *num_clusters, |
- | |
354 | cairo_text_cluster_flags_t *cluster_flags); |
- | |
355 | - | ||
356 | cairo_private cairo_status_t |
362 | cairo_private cairo_status_t |
357 | _cairo_gstate_glyph_extents (cairo_gstate_t *gstate, |
363 | _cairo_gstate_glyph_extents (cairo_gstate_t *gstate, |
358 | const cairo_glyph_t *glyphs, |
364 | const cairo_glyph_t *glyphs, |
359 | int num_glyphs, |
365 | int num_glyphs, |
Line 360... | Line 366... | ||
360 | cairo_text_extents_t *extents); |
366 | cairo_text_extents_t *extents); |
361 | 367 | ||
362 | cairo_private cairo_status_t |
- | |
363 | _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate, |
- | |
364 | const char *utf8, |
368 | cairo_private cairo_status_t |
365 | int utf8_len, |
369 | _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate, |
366 | const cairo_glyph_t *glyphs, |
370 | const cairo_glyph_t *glyphs, |
367 | int num_glyphs, |
- | |
368 | const cairo_text_cluster_t *clusters, |
- | |
Line 369... | Line 371... | ||
369 | int num_clusters, |
371 | int num_glyphs, |
370 | cairo_text_cluster_flags_t cluster_flags); |
372 | cairo_glyph_text_info_t *info); |
371 | 373 | ||
372 | cairo_private cairo_status_t |
374 | cairo_private cairo_status_t |