diff options
author | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-05-16 14:45:47 +0000 |
---|---|---|
committer | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-05-16 14:45:47 +0000 |
commit | a3613bf39c88d45bb3e69b2007c5f1fbe601560e (patch) | |
tree | 0f4578c2d28ff6c1cdf9b18445e39fd8da64233f /rsvg-mask.c | |
parent | cf2e610b3469e5a29194225accd5c06c225b2047 (diff) | |
download | librsvg-a3613bf39c88d45bb3e69b2007c5f1fbe601560e.tar.gz |
further DOM restructuring
Diffstat (limited to 'rsvg-mask.c')
-rw-r--r-- | rsvg-mask.c | 82 |
1 files changed, 8 insertions, 74 deletions
diff --git a/rsvg-mask.c b/rsvg-mask.c index c1afc492..dde61dcb 100644 --- a/rsvg-mask.c +++ b/rsvg-mask.c @@ -29,38 +29,6 @@ #include <string.h> static void -rsvg_mask_free (RsvgNode * self) -{ - RsvgMask *z = (RsvgMask *)self; - g_ptr_array_free(z->children, TRUE); - rsvg_state_finalize (z->super.state); - g_free(z->super.state); - g_free (z); -} - -void -rsvg_node_mask_draw (RsvgMask *group, RsvgDrawingCtx *ctx, - int dominate) -{ - guint i; - - rsvg_state_reinherit_top(ctx, group->super.state, 0); - - rsvg_push_discrete_layer (ctx); - - for (i = 0; i < group->children->len; i++) - { - rsvg_state_push(ctx); - - rsvg_node_draw (g_ptr_array_index(group->children, i), ctx, 0); - - rsvg_state_pop(ctx); - } - - rsvg_pop_discrete_layer (ctx); -} - -static void rsvg_mask_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) { const char *id = NULL, *klazz = NULL, *value; @@ -122,21 +90,6 @@ rsvg_mask_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) rsvg_parse_style_attrs (ctx, mask->super.state, "mask", klazz, id, atts); } -static void -rsvg_mask_add_child (RsvgNode *overself, RsvgNode *child) -{ - RsvgMask *self = (RsvgMask *)overself; - if (self == NULL) - return; - g_ptr_array_add(self->children, child); -} - -static void -rsvg_draw_nothing (RsvgNode * self, RsvgDrawingCtx *ctx, - int dominate) -{ -} - RsvgNode * rsvg_new_mask (void) { @@ -151,11 +104,11 @@ rsvg_new_mask (void) mask->height = 1; mask->super.state = g_new(RsvgState, 1); rsvg_state_init(mask->super.state); - mask->children = g_ptr_array_new (); + mask->super.children = g_ptr_array_new (); mask->super.type = RSVG_NODE_MASK; - mask->super.free = rsvg_mask_free; - mask->super.draw = rsvg_draw_nothing; - mask->super.add_child = rsvg_mask_add_child; + mask->super.free = rsvg_node_free; + mask->super.draw = _rsvg_node_draw_nothing; + mask->super.add_child = rsvg_node_add_child; mask->super.set_atts = rsvg_mask_set_atts; return &mask->super; } @@ -197,16 +150,6 @@ rsvg_mask_parse (const RsvgDefs * defs, const char *str) } static void -rsvg_clip_path_free (RsvgNode * self) -{ - RsvgClipPath *z = (RsvgClipPath *)self; - g_ptr_array_free(z->children, TRUE); - rsvg_state_finalize (z->super.state); - g_free(z->super.state); - g_free (z); -} - -static void rsvg_clip_path_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) { const char *id = NULL, *klazz = NULL, *value = NULL; @@ -239,28 +182,19 @@ rsvg_clip_path_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts rsvg_parse_style_attrs (ctx, clip_path->super.state, "clipPath", klazz, id, atts); } -static void -rsvg_clip_path_add_child (RsvgNode *overself, RsvgNode *child) -{ - RsvgClipPath *self = (RsvgClipPath *)overself; - if (self == NULL) - return; - g_ptr_array_add(self->children, child); -} - RsvgNode * rsvg_new_clip_path (void) { RsvgClipPath *clip_path; clip_path = g_new (RsvgClipPath, 1); - clip_path->children = g_ptr_array_new (); + clip_path->super.children = g_ptr_array_new (); clip_path->units = userSpaceOnUse; clip_path->super.state = g_new(RsvgState, 1); clip_path->super.type = RSVG_NODE_CLIP_PATH; - clip_path->super.free = rsvg_clip_path_free; - clip_path->super.add_child = rsvg_clip_path_add_child; - clip_path->super.draw = rsvg_draw_nothing; + clip_path->super.free = rsvg_node_free; + clip_path->super.add_child = rsvg_node_add_child; + clip_path->super.draw = _rsvg_node_draw_nothing; clip_path->super.set_atts = rsvg_clip_path_set_atts; return &clip_path->super; } |