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 37... | Line 37... | ||
37 | */ |
37 | */ |
Line 38... | Line 38... | ||
38 | 38 | ||
39 | #ifndef CAIRO_SURFACE_WRAPPER_PRIVATE_H |
39 | #ifndef CAIRO_SURFACE_WRAPPER_PRIVATE_H |
Line -... | Line 40... | ||
- | 40 | #define CAIRO_SURFACE_WRAPPER_PRIVATE_H |
|
40 | #define CAIRO_SURFACE_WRAPPER_PRIVATE_H |
41 | |
- | 42 | #include "cairoint.h" |
|
Line 41... | Line 43... | ||
41 | 43 | #include "cairo-types-private.h" |
|
Line 42... | Line 44... | ||
42 | #include "cairo-types-private.h" |
44 | #include "cairo-surface-backend-private.h" |
43 | 45 | ||
Line -... | Line 46... | ||
- | 46 | CAIRO_BEGIN_DECLS |
|
- | 47 | ||
44 | CAIRO_BEGIN_DECLS |
48 | struct _cairo_surface_wrapper { |
45 | 49 | cairo_surface_t *target; |
|
- | 50 | ||
- | 51 | cairo_matrix_t transform; |
|
- | 52 | ||
46 | struct _cairo_surface_wrapper { |
53 | cairo_bool_t has_extents; |
Line 47... | Line 54... | ||
47 | cairo_surface_t *target; |
54 | cairo_rectangle_int_t extents; |
48 | 55 | const cairo_clip_t *clip; |
|
49 | cairo_bool_t has_extents; |
56 | |
Line 50... | Line 57... | ||
50 | cairo_rectangle_int_t extents; |
57 | cairo_bool_t needs_transform; |
51 | }; |
58 | }; |
52 | 59 | ||
Line 53... | Line 60... | ||
53 | cairo_private void |
60 | cairo_private void |
- | 61 | _cairo_surface_wrapper_init (cairo_surface_wrapper_t *wrapper, |
|
- | 62 | cairo_surface_t *target); |
|
- | 63 | ||
- | 64 | cairo_private void |
|
- | 65 | _cairo_surface_wrapper_intersect_extents (cairo_surface_wrapper_t *wrapper, |
|
- | 66 | const cairo_rectangle_int_t *extents); |
|
- | 67 | ||
- | 68 | cairo_private void |
|
54 | _cairo_surface_wrapper_init (cairo_surface_wrapper_t *wrapper, |
69 | _cairo_surface_wrapper_set_inverse_transform (cairo_surface_wrapper_t *wrapper, |
Line -... | Line 70... | ||
- | 70 | const cairo_matrix_t *transform); |
|
- | 71 | ||
- | 72 | cairo_private void |
|
- | 73 | _cairo_surface_wrapper_set_clip (cairo_surface_wrapper_t *wrapper, |
|
- | 74 | const cairo_clip_t *clip); |
|
- | 75 | ||
55 | cairo_surface_t *target); |
76 | cairo_private void |
56 | 77 | _cairo_surface_wrapper_fini (cairo_surface_wrapper_t *wrapper); |
|
57 | cairo_private void |
78 | |
58 | _cairo_surface_wrapper_set_extents (cairo_surface_wrapper_t *wrapper, |
79 | static inline cairo_bool_t |
Line 74... | Line 95... | ||
74 | 95 | ||
75 | cairo_private cairo_status_t |
96 | cairo_private cairo_status_t |
76 | _cairo_surface_wrapper_paint (cairo_surface_wrapper_t *wrapper, |
97 | _cairo_surface_wrapper_paint (cairo_surface_wrapper_t *wrapper, |
77 | cairo_operator_t op, |
98 | cairo_operator_t op, |
78 | const cairo_pattern_t *source, |
99 | const cairo_pattern_t *source, |
Line 79... | Line 100... | ||
79 | cairo_clip_t *clip); |
100 | const cairo_clip_t *clip); |
80 | 101 | ||
81 | cairo_private cairo_status_t |
102 | cairo_private cairo_status_t |
82 | _cairo_surface_wrapper_mask (cairo_surface_wrapper_t *wrapper, |
103 | _cairo_surface_wrapper_mask (cairo_surface_wrapper_t *wrapper, |
83 | cairo_operator_t op, |
104 | cairo_operator_t op, |
84 | const cairo_pattern_t *source, |
105 | const cairo_pattern_t *source, |
Line 85... | Line 106... | ||
85 | const cairo_pattern_t *mask, |
106 | const cairo_pattern_t *mask, |
86 | cairo_clip_t *clip); |
107 | const cairo_clip_t *clip); |
87 | 108 | ||
88 | cairo_private cairo_status_t |
109 | cairo_private cairo_status_t |
89 | _cairo_surface_wrapper_stroke (cairo_surface_wrapper_t *wrapper, |
110 | _cairo_surface_wrapper_stroke (cairo_surface_wrapper_t *wrapper, |
90 | cairo_operator_t op, |
111 | cairo_operator_t op, |
91 | const cairo_pattern_t *source, |
112 | const cairo_pattern_t *source, |
92 | cairo_path_fixed_t *path, |
113 | const cairo_path_fixed_t *path, |
93 | const cairo_stroke_style_t *stroke_style, |
114 | const cairo_stroke_style_t *stroke_style, |
94 | const cairo_matrix_t *ctm, |
115 | const cairo_matrix_t *ctm, |
95 | const cairo_matrix_t *ctm_inverse, |
116 | const cairo_matrix_t *ctm_inverse, |
Line 96... | Line 117... | ||
96 | double tolerance, |
117 | double tolerance, |
97 | cairo_antialias_t antialias, |
118 | cairo_antialias_t antialias, |
98 | cairo_clip_t *clip); |
119 | const cairo_clip_t *clip); |
99 | 120 | ||
100 | cairo_private cairo_status_t |
121 | cairo_private cairo_status_t |
101 | _cairo_surface_wrapper_fill_stroke (cairo_surface_wrapper_t *wrapper, |
122 | _cairo_surface_wrapper_fill_stroke (cairo_surface_wrapper_t *wrapper, |
102 | cairo_operator_t fill_op, |
123 | cairo_operator_t fill_op, |
103 | const cairo_pattern_t *fill_source, |
124 | const cairo_pattern_t *fill_source, |
104 | cairo_fill_rule_t fill_rule, |
125 | cairo_fill_rule_t fill_rule, |
105 | double fill_tolerance, |
126 | double fill_tolerance, |
106 | cairo_antialias_t fill_antialias, |
127 | cairo_antialias_t fill_antialias, |
107 | cairo_path_fixed_t *path, |
128 | const cairo_path_fixed_t*path, |
108 | cairo_operator_t stroke_op, |
129 | cairo_operator_t stroke_op, |
109 | const cairo_pattern_t *stroke_source, |
130 | const cairo_pattern_t *stroke_source, |
110 | const cairo_stroke_style_t *stroke_style, |
131 | const cairo_stroke_style_t *stroke_style, |
111 | const cairo_matrix_t *stroke_ctm, |
132 | const cairo_matrix_t *stroke_ctm, |
Line 112... | Line 133... | ||
112 | const cairo_matrix_t *stroke_ctm_inverse, |
133 | const cairo_matrix_t *stroke_ctm_inverse, |
113 | double stroke_tolerance, |
134 | double stroke_tolerance, |
114 | cairo_antialias_t stroke_antialias, |
135 | cairo_antialias_t stroke_antialias, |
115 | cairo_clip_t *clip); |
136 | const cairo_clip_t *clip); |
116 | 137 | ||
117 | cairo_private cairo_status_t |
138 | cairo_private cairo_status_t |
118 | _cairo_surface_wrapper_fill (cairo_surface_wrapper_t *wrapper, |
139 | _cairo_surface_wrapper_fill (cairo_surface_wrapper_t *wrapper, |
119 | cairo_operator_t op, |
140 | cairo_operator_t op, |
120 | const cairo_pattern_t *source, |
141 | const cairo_pattern_t *source, |
Line 121... | Line 142... | ||
121 | cairo_path_fixed_t *path, |
142 | const cairo_path_fixed_t *path, |
122 | cairo_fill_rule_t fill_rule, |
143 | cairo_fill_rule_t fill_rule, |
123 | double tolerance, |
144 | double tolerance, |
124 | cairo_antialias_t antialias, |
145 | cairo_antialias_t antialias, |
125 | cairo_clip_t *clip); |
146 | const cairo_clip_t *clip); |
126 | 147 | ||
127 | cairo_private cairo_status_t |
148 | cairo_private cairo_status_t |
128 | _cairo_surface_wrapper_show_text_glyphs (cairo_surface_wrapper_t *wrapper, |
149 | _cairo_surface_wrapper_show_text_glyphs (cairo_surface_wrapper_t *wrapper, |
129 | cairo_operator_t op, |
150 | cairo_operator_t op, |
130 | const cairo_pattern_t *source, |
151 | const cairo_pattern_t *source, |
131 | const char *utf8, |
152 | const char *utf8, |
132 | int utf8_len, |
153 | int utf8_len, |
133 | cairo_glyph_t *glyphs, |
154 | const cairo_glyph_t *glyphs, |
Line 134... | Line 155... | ||
134 | int num_glyphs, |
155 | int num_glyphs, |
135 | const cairo_text_cluster_t *clusters, |
156 | const cairo_text_cluster_t *clusters, |
136 | int num_clusters, |
157 | int num_clusters, |
137 | cairo_text_cluster_flags_t cluster_flags, |
158 | cairo_text_cluster_flags_t cluster_flags, |
Line 161... | Line 182... | ||
161 | _cairo_surface_wrapper_is_active (cairo_surface_wrapper_t *wrapper) |
182 | _cairo_surface_wrapper_is_active (cairo_surface_wrapper_t *wrapper) |
162 | { |
183 | { |
163 | return wrapper->target != (cairo_surface_t *) 0; |
184 | return wrapper->target != (cairo_surface_t *) 0; |
164 | } |
185 | } |
Line -... | Line 186... | ||
- | 186 | ||
- | 187 | cairo_private cairo_bool_t |
|
- | 188 | _cairo_surface_wrapper_get_target_extents (cairo_surface_wrapper_t *wrapper, |
|
- | 189 | cairo_rectangle_int_t *extents); |
|
165 | 190 | ||
Line 166... | Line 191... | ||
166 | CAIRO_END_DECLS |
191 | CAIRO_END_DECLS |