[lasem] svg_switch: implement get_extents.



commit ef2d44d6987b307a22158cea9ac51364c8de7dae
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Fri Oct 26 22:57:21 2012 +0200

    svg_switch: implement get_extents.

 src/lsmsvgswitchelement.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/lsmsvgswitchelement.c b/src/lsmsvgswitchelement.c
index f4edad6..ee16a04 100644
--- a/src/lsmsvgswitchelement.c
+++ b/src/lsmsvgswitchelement.c
@@ -51,6 +51,21 @@ _render (LsmSvgElement *element, LsmSvgView *view)
 		}
 }
 
+static void
+_get_extents (LsmSvgElement *element, LsmSvgView *view, LsmExtents *extents)
+{
+	LsmDomNode *node;
+	LsmExtents null_extents = {0.0, 0.0, 0.0, 0.0};
+
+	for (node = LSM_DOM_NODE (element)->first_child; node != NULL; node = node->next_sibling)
+		if (LSM_IS_SVG_ELEMENT (node)) {
+		    lsm_svg_element_get_extents (LSM_SVG_ELEMENT (node), view, extents);
+		    return;
+		}
+
+	*extents = null_extents;
+}
+
 /* LsmSvgSwitchElement implementation */
 
 LsmDomNode *
@@ -78,6 +93,7 @@ lsm_svg_switch_element_class_init (LsmSvgSwitchElementClass *s_g_class)
 	d_node_class->get_node_name = lsm_svg_switch_element_get_node_name;
 
 	s_element_class->render = _render;
+	s_element_class->get_extents = _get_extents;
 
 	s_element_class->category =
 		LSM_SVG_ELEMENT_CATEGORY_CONTAINER |



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]