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 36... Line 36...
36
 
36
 
37
#ifndef CAIRO_COMPOSITE_RECTANGLES_PRIVATE_H
37
#ifndef CAIRO_COMPOSITE_RECTANGLES_PRIVATE_H
Line 38... Line 38...
38
#define CAIRO_COMPOSITE_RECTANGLES_PRIVATE_H
38
#define CAIRO_COMPOSITE_RECTANGLES_PRIVATE_H
-
 
39
 
-
 
40
#include "cairo-types-private.h"
Line 39... Line 41...
39
 
41
#include "cairo-error-private.h"
Line 40... Line 42...
40
#include "cairo-types-private.h"
42
#include "cairo-pattern-private.h"
41
 
43
 
Line 49... Line 51...
49
 * the operation may require. Whether or not the operation is actually bounded
51
 * the operation may require. Whether or not the operation is actually bounded
50
 * is tracked in the is_bounded boolean.
52
 * is tracked in the is_bounded boolean.
51
 *
53
 *
52
 */
54
 */
53
struct _cairo_composite_rectangles {
55
struct _cairo_composite_rectangles {
-
 
56
    cairo_surface_t *surface;
-
 
57
    cairo_operator_t op;
-
 
58
 
54
    cairo_rectangle_int_t source;
59
    cairo_rectangle_int_t source;
55
    cairo_rectangle_int_t mask;
60
    cairo_rectangle_int_t mask;
56
    cairo_rectangle_int_t bounded; /* dst */
61
    cairo_rectangle_int_t destination;
-
 
62
 
-
 
63
    cairo_rectangle_int_t bounded; /* source? IN mask? IN unbounded */
57
    cairo_rectangle_int_t unbounded; /* clip */
64
    cairo_rectangle_int_t unbounded; /* destination IN clip */
58
    uint32_t is_bounded;
65
    uint32_t is_bounded;
-
 
66
 
-
 
67
    cairo_rectangle_int_t source_sample_area;
-
 
68
    cairo_rectangle_int_t mask_sample_area;
-
 
69
 
-
 
70
    cairo_pattern_union_t source_pattern;
-
 
71
    cairo_pattern_union_t mask_pattern;
-
 
72
    const cairo_pattern_t *original_source_pattern;
-
 
73
    const cairo_pattern_t *original_mask_pattern;
-
 
74
 
-
 
75
    cairo_clip_t *clip; /* clip will be reduced to the minimal container */
59
};
76
};
Line 60... Line 77...
60
 
77
 
61
cairo_private cairo_int_status_t
78
cairo_private cairo_int_status_t
62
_cairo_composite_rectangles_init_for_paint (cairo_composite_rectangles_t *extents,
79
_cairo_composite_rectangles_init_for_paint (cairo_composite_rectangles_t *extents,
63
					 int surface_width, int surface_height,
80
					    cairo_surface_t *surface,
64
					 cairo_operator_t	 op,
81
					    cairo_operator_t	 op,
65
					 const cairo_pattern_t	*source,
82
					    const cairo_pattern_t	*source,
Line 66... Line 83...
66
					 cairo_clip_t		*clip);
83
					    const cairo_clip_t		*clip);
67
 
84
 
68
cairo_private cairo_int_status_t
85
cairo_private cairo_int_status_t
69
_cairo_composite_rectangles_init_for_mask (cairo_composite_rectangles_t *extents,
86
_cairo_composite_rectangles_init_for_mask (cairo_composite_rectangles_t *extents,
70
					int surface_width, int surface_height,
87
					   cairo_surface_t *surface,
71
					cairo_operator_t	 op,
88
					   cairo_operator_t	 op,
72
					const cairo_pattern_t	*source,
89
					   const cairo_pattern_t	*source,
Line 73... Line 90...
73
					const cairo_pattern_t	*mask,
90
					   const cairo_pattern_t	*mask,
74
					cairo_clip_t		*clip);
91
					   const cairo_clip_t		*clip);
75
 
92
 
76
cairo_private cairo_int_status_t
93
cairo_private cairo_int_status_t
77
_cairo_composite_rectangles_init_for_stroke (cairo_composite_rectangles_t *extents,
94
_cairo_composite_rectangles_init_for_stroke (cairo_composite_rectangles_t *extents,
78
					     int surface_width, int surface_height,
95
					     cairo_surface_t *surface,
79
					     cairo_operator_t	 op,
96
					     cairo_operator_t	 op,
80
					     const cairo_pattern_t	*source,
97
					     const cairo_pattern_t	*source,
81
					     cairo_path_fixed_t	*path,
98
					     const cairo_path_fixed_t	*path,
Line 82... Line 99...
82
					     const cairo_stroke_style_t	*style,
99
					     const cairo_stroke_style_t	*style,
83
					     const cairo_matrix_t	*ctm,
100
					     const cairo_matrix_t	*ctm,
84
					     cairo_clip_t		*clip);
101
					     const cairo_clip_t		*clip);
85
 
102
 
86
cairo_private cairo_int_status_t
103
cairo_private cairo_int_status_t
87
_cairo_composite_rectangles_init_for_fill (cairo_composite_rectangles_t *extents,
104
_cairo_composite_rectangles_init_for_fill (cairo_composite_rectangles_t *extents,
88
					   int surface_width, int surface_height,
105
					   cairo_surface_t *surface,
-
 
106
					   cairo_operator_t	 op,
-
 
107
					   const cairo_pattern_t	*source,
-
 
108
					   const cairo_path_fixed_t	*path,
-
 
109
					   const cairo_clip_t		*clip);
-
 
110
 
-
 
111
cairo_private cairo_int_status_t
-
 
112
_cairo_composite_rectangles_init_for_boxes (cairo_composite_rectangles_t *extents,
-
 
113
					      cairo_surface_t		*surface,
-
 
114
					      cairo_operator_t		 op,
-
 
115
					      const cairo_pattern_t	*source,
-
 
116
					      const cairo_boxes_t	*boxes,
-
 
117
					      const cairo_clip_t		*clip);
-
 
118
 
-
 
119
cairo_private cairo_int_status_t
-
 
120
_cairo_composite_rectangles_init_for_polygon (cairo_composite_rectangles_t *extents,
-
 
121
					      cairo_surface_t		*surface,
Line 89... Line 122...
89
					   cairo_operator_t	 op,
122
					      cairo_operator_t		 op,
90
					   const cairo_pattern_t	*source,
123
					      const cairo_pattern_t	*source,
91
					   cairo_path_fixed_t	*path,
124
					      const cairo_polygon_t	*polygon,
92
					   cairo_clip_t		*clip);
125
					      const cairo_clip_t		*clip);
93
 
126
 
94
cairo_private cairo_int_status_t
127
cairo_private cairo_int_status_t
95
_cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t *extents,
128
_cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t *extents,
96
					     int surface_width, int surface_height,
129
					     cairo_surface_t *surface,
97
					     cairo_operator_t		 op,
130
					     cairo_operator_t		 op,
98
					     const cairo_pattern_t	*source,
131
					     const cairo_pattern_t	*source,
Line -... Line 132...
-
 
132
					     cairo_scaled_font_t	*scaled_font,
-
 
133
					     cairo_glyph_t		*glyphs,
-
 
134
					     int			 num_glyphs,
-
 
135
					     const cairo_clip_t		*clip,
-
 
136
					     cairo_bool_t		*overlap);
-
 
137
 
-
 
138
cairo_private cairo_int_status_t
-
 
139
_cairo_composite_rectangles_intersect_source_extents (cairo_composite_rectangles_t *extents,
-
 
140
						      const cairo_box_t *box);
-
 
141
 
-
 
142
cairo_private cairo_int_status_t
-
 
143
_cairo_composite_rectangles_intersect_mask_extents (cairo_composite_rectangles_t *extents,
-
 
144
						    const cairo_box_t *box);
-
 
145
 
-
 
146
cairo_private cairo_bool_t
-
 
147
_cairo_composite_rectangles_can_reduce_clip (cairo_composite_rectangles_t *composite,
-
 
148
					     cairo_clip_t *clip);
-
 
149
 
-
 
150
cairo_private cairo_int_status_t
-
 
151
_cairo_composite_rectangles_add_to_damage (cairo_composite_rectangles_t *composite,
-
 
152
					   cairo_boxes_t *damage);
99
					     cairo_scaled_font_t	*scaled_font,
153