[lasem] svg: add an element category property to the SvgElementClass.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [lasem] svg: add an element category property to the SvgElementClass.
- Date: Sun, 8 Aug 2010 19:42:13 +0000 (UTC)
commit 52b910f5bdf36ee4f533d9da0479da4213a8245a
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Sun Aug 8 21:41:05 2010 +0200
svg: add an element category property to the SvgElementClass.
src/lsmsvgcircleelement.c | 5 +++++
src/lsmsvgclippathelement.c | 2 ++
src/lsmsvgdefselement.c | 4 ++++
src/lsmsvgelement.c | 16 ++++++++++++++++
src/lsmsvgelement.h | 4 ++++
src/lsmsvgellipseelement.c | 5 +++++
src/lsmsvgenums.h | 16 ++++++++++++++++
src/lsmsvggelement.c | 5 +++++
src/lsmsvgimageelement.c | 4 ++++
src/lsmsvglineargradientelement.c | 2 ++
src/lsmsvglineelement.c | 5 +++++
src/lsmsvgmarkerelement.c | 2 ++
src/lsmsvgmaskelement.c | 2 ++
src/lsmsvgpathelement.c | 4 ++++
src/lsmsvgpatternelement.c | 2 ++
src/lsmsvgpolygonelement.c | 5 +++++
src/lsmsvgpolylineelement.c | 5 +++++
src/lsmsvgradialgradientelement.c | 2 ++
src/lsmsvgrectelement.c | 5 +++++
src/lsmsvgstopelement.c | 2 ++
src/lsmsvgsvgelement.c | 4 ++++
src/lsmsvgsymbolelement.c | 5 +++++
src/lsmsvgtextelement.c | 4 ++++
src/lsmsvgtspanelement.c | 4 ++++
src/lsmsvguseelement.c | 5 +++++
25 files changed, 119 insertions(+), 0 deletions(-)
---
diff --git a/src/lsmsvgcircleelement.c b/src/lsmsvgcircleelement.c
index 1cce8c4..2e5b933 100644
--- a/src/lsmsvgcircleelement.c
+++ b/src/lsmsvgcircleelement.c
@@ -129,6 +129,11 @@ lsm_svg_circle_element_class_init (LsmSvgCircleElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_circle_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_circle_element_render;
s_element_class->get_extents = lsm_svg_circle_element_get_extents;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgclippathelement.c b/src/lsmsvgclippathelement.c
index 70ac631..9a8aa54 100644
--- a/src/lsmsvgclippathelement.c
+++ b/src/lsmsvgclippathelement.c
@@ -117,6 +117,8 @@ lsm_svg_clip_path_element_class_init (LsmSvgClipPathElementClass *klass)
d_node_class->get_node_name = _clip_path_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_NONE;
+
s_element_class->render = lsm_svg_clip_path_element_render;
s_element_class->enable_rendering = lsm_svg_clip_path_element_enable_rendering;
diff --git a/src/lsmsvgdefselement.c b/src/lsmsvgdefselement.c
index 50e34dc..cd4c092 100644
--- a/src/lsmsvgdefselement.c
+++ b/src/lsmsvgdefselement.c
@@ -63,6 +63,10 @@ lsm_svg_defs_element_class_init (LsmSvgDefsElementClass *s_g_class)
d_node_class->get_node_name = lsm_svg_defs_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_CONTAINER |
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL;
+
s_element_class->render = NULL;
}
diff --git a/src/lsmsvgelement.c b/src/lsmsvgelement.c
index 5b18d6a..3995b00 100644
--- a/src/lsmsvgelement.c
+++ b/src/lsmsvgelement.c
@@ -46,6 +46,12 @@ lsm_svg_element_can_append_child (LsmDomNode *self, LsmDomNode *child)
static gboolean
lsm_svg_element_child_changed (LsmDomNode *parent, LsmDomNode *child)
{
+#if 0
+ if (LSM_IS_SVG_ELEMENT (child) &&
+ lsm_svg_element_get_category (LSM_SVG_ELEMENT (child)) == 0)
+ g_warning ("Category not defined for '%s'", lsm_dom_node_get_node_name (child));
+#endif
+
return TRUE;
}
@@ -93,6 +99,14 @@ lsm_svg_element_get_attribute (LsmDomElement *self, const char *name)
/* LsmSvgElement implementation */
+LsmSvgElementCategory
+lsm_svg_element_get_category (LsmSvgElement *element)
+{
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_GET_CLASS (element);
+
+ return s_element_class != NULL ? s_element_class->category : 0;
+}
+
static void
_render (LsmSvgElement *element, LsmSvgView *view)
{
@@ -301,6 +315,8 @@ lsm_svg_element_class_init (LsmSvgElementClass *s_element_class)
d_element_class->get_attribute = lsm_svg_element_get_attribute;
d_element_class->set_attribute = lsm_svg_element_set_attribute;
+ s_element_class->category = 0;
+
s_element_class->render = _render;
s_element_class->get_extents = _get_extents;
s_element_class->attribute_manager = lsm_attribute_manager_new (G_N_ELEMENTS (lsm_svg_attribute_infos),
diff --git a/src/lsmsvgelement.h b/src/lsmsvgelement.h
index 43f9f8f..2716bd8 100644
--- a/src/lsmsvgelement.h
+++ b/src/lsmsvgelement.h
@@ -57,6 +57,8 @@ struct _LsmSvgElementClass {
LsmAttributeManager *attribute_manager;
+ LsmSvgElementCategory category;
+
void (*enable_rendering) (LsmSvgElement *element);
void (*render) (LsmSvgElement *element, LsmSvgView *view);
void (*get_extents) (LsmSvgElement *element, LsmSvgView *view, LsmExtents *extents);
@@ -64,6 +66,8 @@ struct _LsmSvgElementClass {
GType lsm_svg_element_get_type (void);
+LsmSvgElementCategory lsm_svg_element_get_category (LsmSvgElement *element);
+
void lsm_svg_element_render (LsmSvgElement *element, LsmSvgView *view);
void lsm_svg_element_force_render (LsmSvgElement *element, LsmSvgView *view);
void lsm_svg_element_get_extents (LsmSvgElement *element, LsmSvgView *view, LsmExtents *extents);
diff --git a/src/lsmsvgellipseelement.c b/src/lsmsvgellipseelement.c
index dd51854..549fed0 100644
--- a/src/lsmsvgellipseelement.c
+++ b/src/lsmsvgellipseelement.c
@@ -118,6 +118,11 @@ lsm_svg_ellipse_element_class_init (LsmSvgEllipseElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_ellipse_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_ellipse_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgenums.h b/src/lsmsvgenums.h
index 18e150d..1337be1 100644
--- a/src/lsmsvgenums.h
+++ b/src/lsmsvgenums.h
@@ -195,6 +195,22 @@ typedef enum {
const char * lsm_svg_comp_op_to_string (LsmSvgCompOp comp_op);
LsmSvgCompOp lsm_svg_comp_op_from_string (const char *string);
+typedef enum {
+ LSM_SVG_ELEMENT_CATEGORY_NONE = 1 << 0,
+ LSM_SVG_ELEMENT_CATEGORY_DESCRIPTIVE = 1 << 1,
+ LSM_SVG_ELEMENT_CATEGORY_CONTAINER = 1 << 2,
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL = 1 << 3,
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS_REFERENCING = 1 << 4,
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS = 1 << 5,
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE = 1 << 6,
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE = 1 << 7,
+ LSM_SVG_ELEMENT_CATEGORY_TEXT_CONTENT = 1 << 8,
+ LSM_SVG_ELEMENT_CATEGORY_TEXT_CONTENT_CHILD = 1 << 9,
+ LSM_SVG_ELEMENT_CATEGORY_GRADIENT = 1 << 10,
+ LSM_SVG_ELEMENT_CATEGORY_FILTER_PRIMITIVE = 1 << 11,
+ LSM_SVG_ELEMENT_CATEGORY_ANIMATION = 1 << 12
+} LsmSvgElementCategory;
+
G_END_DECLS
#endif
diff --git a/src/lsmsvggelement.c b/src/lsmsvggelement.c
index 9cb136f..e52eb6d 100644
--- a/src/lsmsvggelement.c
+++ b/src/lsmsvggelement.c
@@ -58,10 +58,15 @@ static void
lsm_svg_g_element_class_init (LsmSvgGElementClass *s_g_class)
{
LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (s_g_class);
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (s_g_class);
parent_class = g_type_class_peek_parent (s_g_class);
d_node_class->get_node_name = lsm_svg_g_element_get_node_name;
+
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_CONTAINER |
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL;
}
G_DEFINE_TYPE (LsmSvgGElement, lsm_svg_g_element, LSM_TYPE_SVG_ELEMENT)
diff --git a/src/lsmsvgimageelement.c b/src/lsmsvgimageelement.c
index 15a7003..6201a71 100644
--- a/src/lsmsvgimageelement.c
+++ b/src/lsmsvgimageelement.c
@@ -217,6 +217,10 @@ lsm_svg_image_element_class_init (LsmSvgImageElementClass *klass)
d_element_class->set_attribute = lsm_svg_image_element_set_attribute;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS_REFERENCING;
+
s_element_class->render = lsm_svg_image_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvglineargradientelement.c b/src/lsmsvglineargradientelement.c
index d38bcc3..ac92e72 100644
--- a/src/lsmsvglineargradientelement.c
+++ b/src/lsmsvglineargradientelement.c
@@ -136,6 +136,8 @@ lsm_svg_linear_gradient_element_class_init (LsmSvgLinearGradientElementClass *s_
d_node_class->get_node_name = lsm_svg_linear_gradient_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_GRADIENT;
+
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
diff --git a/src/lsmsvglineelement.c b/src/lsmsvglineelement.c
index 663da64..a0e62bc 100644
--- a/src/lsmsvglineelement.c
+++ b/src/lsmsvglineelement.c
@@ -112,6 +112,11 @@ lsm_svg_line_element_class_init (LsmSvgLineElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_line_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_line_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgmarkerelement.c b/src/lsmsvgmarkerelement.c
index 4e40e8a..8643551 100644
--- a/src/lsmsvgmarkerelement.c
+++ b/src/lsmsvgmarkerelement.c
@@ -236,6 +236,8 @@ lsm_svg_marker_element_class_init (LsmSvgMarkerElementClass *klass)
d_node_class->get_node_name = lsm_svg_marker_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_CONTAINER;
+
s_element_class->render = _marker_element_render;
s_element_class->enable_rendering = lsm_svg_marker_element_enable_rendering;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgmaskelement.c b/src/lsmsvgmaskelement.c
index d7f6ebf..fe2ba84 100644
--- a/src/lsmsvgmaskelement.c
+++ b/src/lsmsvgmaskelement.c
@@ -210,6 +210,8 @@ lsm_svg_mask_element_class_init (LsmSvgMaskElementClass *klass)
d_node_class->get_node_name = _mask_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_CONTAINER;
+
s_element_class->render = lsm_svg_mask_element_render;
s_element_class->enable_rendering = lsm_svg_mask_element_enable_rendering;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgpathelement.c b/src/lsmsvgpathelement.c
index 652134f..d5c3d2d 100644
--- a/src/lsmsvgpathelement.c
+++ b/src/lsmsvgpathelement.c
@@ -98,6 +98,10 @@ lsm_svg_path_element_class_init (LsmSvgPathElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_path_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE;
+
s_element_class->render = lsm_svg_path_element_render;
s_element_class->get_extents = lsm_svg_path_element_get_extents;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgpatternelement.c b/src/lsmsvgpatternelement.c
index 6a123a5..eee642a 100644
--- a/src/lsmsvgpatternelement.c
+++ b/src/lsmsvgpatternelement.c
@@ -252,6 +252,8 @@ lsm_svg_pattern_element_class_init (LsmSvgPatternElementClass *klass)
d_node_class->get_node_name = _pattern_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_CONTAINER;
+
s_element_class->render = lsm_svg_pattern_element_render;
s_element_class->enable_rendering = lsm_svg_pattern_element_enable_rendering;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgpolygonelement.c b/src/lsmsvgpolygonelement.c
index 9768c8f..1b07826 100644
--- a/src/lsmsvgpolygonelement.c
+++ b/src/lsmsvgpolygonelement.c
@@ -78,6 +78,11 @@ lsm_svg_polygon_element_class_init (LsmSvgPolygonElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_polygon_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_polygon_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgpolylineelement.c b/src/lsmsvgpolylineelement.c
index 1df16c2..90b6ee8 100644
--- a/src/lsmsvgpolylineelement.c
+++ b/src/lsmsvgpolylineelement.c
@@ -78,6 +78,11 @@ lsm_svg_polyline_element_class_init (LsmSvgPolylineElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_polyline_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_polyline_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgradialgradientelement.c b/src/lsmsvgradialgradientelement.c
index 387104f..d554bc1 100644
--- a/src/lsmsvgradialgradientelement.c
+++ b/src/lsmsvgradialgradientelement.c
@@ -165,6 +165,8 @@ lsm_svg_radial_gradient_element_class_init (LsmSvgRadialGradientElementClass *s_
d_node_class->get_node_name = lsm_svg_radial_gradient_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_GRADIENT;
+
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
lsm_attribute_manager_add_attributes (s_element_class->attribute_manager,
diff --git a/src/lsmsvgrectelement.c b/src/lsmsvgrectelement.c
index 2400636..4d66755 100644
--- a/src/lsmsvgrectelement.c
+++ b/src/lsmsvgrectelement.c
@@ -164,6 +164,11 @@ lsm_svg_rect_element_class_init (LsmSvgRectElementClass *s_rect_class)
d_node_class->get_node_name = lsm_svg_rect_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_SHAPE |
+ LSM_SVG_ELEMENT_CATEGORY_BASIC_SHAPE;
+
s_element_class->render = lsm_svg_rect_element_render;
s_element_class->get_extents = lsm_svg_rect_element_get_extents;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgstopelement.c b/src/lsmsvgstopelement.c
index 0291324..de15419 100644
--- a/src/lsmsvgstopelement.c
+++ b/src/lsmsvgstopelement.c
@@ -91,6 +91,8 @@ lsm_svg_stop_element_class_init (LsmSvgStopElementClass *klass)
d_node_class->get_node_name = lsm_svg_stop_element_get_node_name;
+ s_element_class->category = LSM_SVG_ELEMENT_CATEGORY_NONE;
+
s_element_class->render = lsm_svg_stop_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgsvgelement.c b/src/lsmsvgsvgelement.c
index 4fff145..7c30134 100644
--- a/src/lsmsvgsvgelement.c
+++ b/src/lsmsvgsvgelement.c
@@ -231,6 +231,10 @@ lsm_svg_svg_element_class_init (LsmSvgSvgElementClass *s_svg_class)
d_node_class->get_node_name = lsm_svg_svg_element_get_node_name;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_CONTAINER |
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL;
+
s_element_class->render = _svg_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgsymbolelement.c b/src/lsmsvgsymbolelement.c
index 4eeadd3..d6f2243 100644
--- a/src/lsmsvgsymbolelement.c
+++ b/src/lsmsvgsymbolelement.c
@@ -59,10 +59,15 @@ static void
lsm_svg_symbol_element_class_init (LsmSvgSymbolElementClass *klass)
{
LsmDomNodeClass *d_node_class = LSM_DOM_NODE_CLASS (klass);
+ LsmSvgElementClass *s_element_class = LSM_SVG_ELEMENT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
d_node_class->get_node_name = lsm_svg_symbol_element_get_node_name;
+
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_CONTAINER |
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL;
}
G_DEFINE_TYPE (LsmSvgSymbolElement, lsm_svg_symbol_element, LSM_TYPE_SVG_ELEMENT)
diff --git a/src/lsmsvgtextelement.c b/src/lsmsvgtextelement.c
index 3e5647d..6d85c2e 100644
--- a/src/lsmsvgtextelement.c
+++ b/src/lsmsvgtextelement.c
@@ -129,6 +129,10 @@ lsm_svg_text_element_class_init (LsmSvgTextElementClass *s_text_class)
d_node_class->get_node_name = lsm_svg_text_element_get_node_name;
d_node_class->can_append_child = lsm_svg_text_element_can_append_child;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_TEXT_CONTENT;
+
s_element_class->render = lsm_svg_text_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvgtspanelement.c b/src/lsmsvgtspanelement.c
index 776cb07..561fd02 100644
--- a/src/lsmsvgtspanelement.c
+++ b/src/lsmsvgtspanelement.c
@@ -127,6 +127,10 @@ lsm_svg_tspan_element_class_init (LsmSvgTspanElementClass *s_tspan_class)
d_node_class->get_node_name = lsm_svg_tspan_element_get_node_name;
d_node_class->can_append_child = lsm_svg_tspan_element_can_append_child;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_TEXT_CONTENT |
+ LSM_SVG_ELEMENT_CATEGORY_TEXT_CONTENT_CHILD;
+
s_element_class->render = lsm_svg_tspan_element_render;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
diff --git a/src/lsmsvguseelement.c b/src/lsmsvguseelement.c
index f040ed1..cda706b 100644
--- a/src/lsmsvguseelement.c
+++ b/src/lsmsvguseelement.c
@@ -203,6 +203,11 @@ lsm_svg_use_element_class_init (LsmSvgUseElementClass *klass)
d_node_class->get_node_name = lsm_svg_use_element_get_node_name;
d_node_class->can_append_child = lsm_svg_use_can_append_child;
+ s_element_class->category =
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS |
+ LSM_SVG_ELEMENT_CATEGORY_GRAPHICS_REFERENCING |
+ LSM_SVG_ELEMENT_CATEGORY_STRUCTURAL;
+
s_element_class->render = lsm_svg_use_element_render;
s_element_class->get_extents = lsm_svg_use_element_get_extents;
s_element_class->attribute_manager = lsm_attribute_manager_duplicate (s_element_class->attribute_manager);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]