Subversion Repositories Kolibri OS

Rev

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