static void rsvg_clip_path_set_atts (RsvgNode * self, RsvgHandle * ctx, RsvgPropertyBag * atts) { const char *id = NULL, *klazz = NULL, *value = NULL; RsvgClipPath *clip_path; clip_path = (RsvgClipPath *) self; if (rsvg_property_bag_size (atts)) { if ((value = rsvg_property_bag_lookup (atts, "clipPathUnits"))) { if (!strcmp (value, "objectBoundingBox")) clip_path->units = objectBoundingBox; else clip_path->units = userSpaceOnUse; } if ((value = rsvg_property_bag_lookup (atts, "id"))) { id = value; rsvg_defs_register_name (ctx->priv->defs, id, &clip_path->super); } if ((value = rsvg_property_bag_lookup (atts, "class"))) klazz = value; } rsvg_state_init (clip_path->super.state); rsvg_parse_style_attrs (ctx, clip_path->super.state, "clipPath", klazz, id, atts); }
void _rsvg_node_init (RsvgNode * self) { self->parent = NULL; self->children = g_ptr_array_new (); self->state = g_new (RsvgState, 1); rsvg_state_init (self->state); self->free = _rsvg_node_free; self->draw = _rsvg_node_draw_nothing; self->set_atts = _rsvg_node_dont_set_atts; self->type = NULL; }