diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-14 18:35:32 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-15 11:05:19 +0100 |
commit | 2458120dee350cd1b49f999f64b17a895a4b6607 (patch) | |
tree | 10a92999cc28b8041bc4958aa422e8d1dabb6242 /src/cairo-types-private.h | |
parent | 83bfd85a1378e61b8bdc3f554f5e07900311f61f (diff) | |
download | cairo-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.h | 114 |
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. |