summaryrefslogtreecommitdiff
path: root/rsvg-mask.c
diff options
context:
space:
mode:
authorCaleb Michael Moore <cmoore@src.gnome.org>2005-05-16 14:45:47 +0000
committerCaleb Michael Moore <cmoore@src.gnome.org>2005-05-16 14:45:47 +0000
commita3613bf39c88d45bb3e69b2007c5f1fbe601560e (patch)
tree0f4578c2d28ff6c1cdf9b18445e39fd8da64233f /rsvg-mask.c
parentcf2e610b3469e5a29194225accd5c06c225b2047 (diff)
downloadlibrsvg-a3613bf39c88d45bb3e69b2007c5f1fbe601560e.tar.gz
further DOM restructuring
Diffstat (limited to 'rsvg-mask.c')
-rw-r--r--rsvg-mask.c82
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;
}