[lasem] svg: set overflow to visible on outermost svg element



commit f119ac9749e26e35af33f6cdcc39acef15990a16
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Mon Jul 4 21:34:08 2016 +0200

    svg: set overflow to visible on outermost svg element

 src/lsmsvgsvgelement.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/src/lsmsvgsvgelement.c b/src/lsmsvgsvgelement.c
index d06a625..a87d754 100644
--- a/src/lsmsvgsvgelement.c
+++ b/src/lsmsvgsvgelement.c
@@ -142,7 +142,8 @@ _svg_element_render (LsmSvgElement *self, LsmSvgView *view)
        lsm_svg_view_show_viewport (view, &viewport);
 
        lsm_svg_view_push_viewport (view, &viewport, is_viewbox_defined ? &svg->viewbox.value : NULL,
-                                   &svg->preserve_aspect_ratio.value, LSM_SVG_OVERFLOW_HIDDEN);
+                                   &svg->preserve_aspect_ratio.value,
+                                   is_outermost_svg ? LSM_SVG_OVERFLOW_VISIBLE : LSM_SVG_OVERFLOW_HIDDEN);
 
        LSM_SVG_ELEMENT_CLASS (parent_class)->render (self, view);
 
@@ -154,7 +155,12 @@ _svg_element_render (LsmSvgElement *self, LsmSvgView *view)
 void
 lsm_svg_svg_element_render (LsmSvgSvgElement *svg, LsmSvgView *view)
 {
-       lsm_svg_view_push_viewport (view, &svg->svg_box, NULL, NULL, LSM_SVG_OVERFLOW_HIDDEN);
+       gboolean is_outermost_svg;
+
+       is_outermost_svg = LSM_IS_SVG_DOCUMENT (lsm_dom_node_get_parent_node (LSM_DOM_NODE (svg)));
+
+       lsm_svg_view_push_viewport (view, &svg->svg_box, NULL, NULL,
+                                   is_outermost_svg ? LSM_SVG_OVERFLOW_VISIBLE : LSM_SVG_OVERFLOW_HIDDEN);
        lsm_svg_element_render (LSM_SVG_ELEMENT (svg), view);
        lsm_svg_view_pop_viewport (view);
 }


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