summaryrefslogtreecommitdiff
path: root/src/cairo-types-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-07-14 18:35:32 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-07-15 11:05:19 +0100
commit2458120dee350cd1b49f999f64b17a895a4b6607 (patch)
tree10a92999cc28b8041bc4958aa422e8d1dabb6242 /src/cairo-types-private.h
parent83bfd85a1378e61b8bdc3f554f5e07900311f61f (diff)
downloadcairo-2458120dee350cd1b49f999f64b17a895a4b6607.tar.gz
pattern: Add observer hooks
In order for custom context to automatically track when a pattern is modify after being set on the context (and before it is used in an operator), we need for there to be a callback when the pattern is modified. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-types-private.h')
-rw-r--r--src/cairo-types-private.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h
index 5460a42bc..8881055ea 100644
--- a/src/cairo-types-private.h
+++ b/src/cairo-types-private.h
@@ -393,120 +393,6 @@ struct _cairo_mime_data {
void *closure;
};
-struct _cairo_pattern {
- cairo_pattern_type_t type;
- cairo_reference_count_t ref_count;
- cairo_status_t status;
- cairo_user_data_array_t user_data;
-
- cairo_matrix_t matrix;
- cairo_filter_t filter;
- cairo_extend_t extend;
-
- cairo_bool_t has_component_alpha;
-};
-
-struct _cairo_solid_pattern {
- cairo_pattern_t base;
- cairo_color_t color;
-};
-
-typedef struct _cairo_surface_pattern {
- cairo_pattern_t base;
-
- cairo_surface_t *surface;
-} cairo_surface_pattern_t;
-
-typedef struct _cairo_gradient_stop {
- double offset;
- cairo_color_stop_t color;
-} cairo_gradient_stop_t;
-
-typedef struct _cairo_gradient_pattern {
- cairo_pattern_t base;
-
- unsigned int n_stops;
- unsigned int stops_size;
- cairo_gradient_stop_t *stops;
- cairo_gradient_stop_t stops_embedded[2];
-} cairo_gradient_pattern_t;
-
-typedef struct _cairo_linear_pattern {
- cairo_gradient_pattern_t base;
-
- cairo_point_double_t pd1;
- cairo_point_double_t pd2;
-} cairo_linear_pattern_t;
-
-typedef struct _cairo_radial_pattern {
- cairo_gradient_pattern_t base;
-
- cairo_circle_double_t cd1;
- cairo_circle_double_t cd2;
-} cairo_radial_pattern_t;
-
-typedef union {
- cairo_gradient_pattern_t base;
-
- cairo_linear_pattern_t linear;
- cairo_radial_pattern_t radial;
-} cairo_gradient_pattern_union_t;
-
-/*
- * A mesh patch is a tensor-product patch (bicubic Bezier surface
- * patch). It has 16 control points. Each set of 4 points along the
- * sides of the 4x4 grid of control points is a Bezier curve that
- * defines one side of the patch. A color is assigned to each
- * corner. The inner 4 points provide additional control over the
- * shape and the color mapping.
- *
- * Cairo uses the same convention as the PDF Reference for numbering
- * the points and side of the patch.
- *
- *
- * Side 1
- *
- * p[0][3] p[1][3] p[2][3] p[3][3]
- * Side 0 p[0][2] p[1][2] p[2][2] p[3][2] Side 2
- * p[0][1] p[1][1] p[2][1] p[3][1]
- * p[0][0] p[1][0] p[2][0] p[3][0]
- *
- * Side 3
- *
- *
- * Point Color
- * -------------------------
- * points[0][0] colors[0]
- * points[0][3] colors[1]
- * points[3][3] colors[2]
- * points[3][0] colors[3]
- */
-
-typedef struct _cairo_mesh_patch {
- cairo_point_double_t points[4][4];
- cairo_color_t colors[4];
-} cairo_mesh_patch_t;
-
-typedef struct _cairo_mesh_pattern {
- cairo_pattern_t base;
-
- cairo_array_t patches;
- cairo_mesh_patch_t *current_patch;
- int current_side;
- cairo_bool_t has_control_point[4];
- cairo_bool_t has_color[4];
-} cairo_mesh_pattern_t;
-
-typedef union {
- cairo_pattern_type_t type;
- cairo_pattern_t base;
-
- cairo_solid_pattern_t solid;
- cairo_surface_pattern_t surface;
- cairo_gradient_pattern_union_t gradient;
- cairo_mesh_pattern_t mesh;
-} cairo_pattern_union_t;
-
/*
* A #cairo_unscaled_font_t is just an opaque handle we use in the
* glyph cache.