[dia] svg: implement DiaSvgRenderer::is_capable_to()
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] svg: implement DiaSvgRenderer::is_capable_to()
- Date: Mon, 21 Apr 2014 10:23:06 +0000 (UTC)
commit 43c8040f234f9a4a29685e10ec70ed0981946eeb
Author: Hans Breuer <hans breuer org>
Date: Sun Apr 20 10:05:46 2014 +0200
svg: implement DiaSvgRenderer::is_capable_to()
Everything but RENDER_ALPHA remains disabled to accommodate for the
ShapeRenderer needs. The SvgRenderer used for SVG export adds all
the capabilities.
lib/diasvgrenderer.c | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/lib/diasvgrenderer.c b/lib/diasvgrenderer.c
index b606731..30d6f15 100644
--- a/lib/diasvgrenderer.c
+++ b/lib/diasvgrenderer.c
@@ -189,6 +189,20 @@ end_render(DiaRenderer *self)
xmlFreeDoc(renderer->doc);
}
+static gboolean
+is_capable_to (DiaRenderer *renderer, RenderCapability cap)
+{
+ if (RENDER_HOLES == cap)
+ return FALSE; /* not wanted for shapes */
+ else if (RENDER_ALPHA == cap)
+ return TRUE; /* also for shapes */
+ else if (RENDER_AFFINE == cap)
+ return FALSE; /* not for shape renderer */
+ else if (RENDER_PATTERN == cap)
+ return FALSE; /* some support form derived class needed */
+ return FALSE;
+}
+
static void
set_linewidth(DiaRenderer *self, real linewidth)
{ /* 0 == hairline **/
@@ -959,13 +973,15 @@ dia_svg_renderer_class_init (DiaSvgRendererClass *klass)
renderer_class->begin_render = begin_render;
renderer_class->end_render = end_render;
+ renderer_class->is_capable_to = is_capable_to;
+
renderer_class->set_linewidth = set_linewidth;
renderer_class->set_linecaps = set_linecaps;
renderer_class->set_linejoin = set_linejoin;
renderer_class->set_linestyle = set_linestyle;
renderer_class->set_dashlength = set_dashlength;
renderer_class->set_fillstyle = set_fillstyle;
- renderer_class->set_pattern = set_pattern;
+ renderer_class->set_pattern = set_pattern;
renderer_class->draw_line = draw_line;
renderer_class->fill_polygon = fill_polygon;
@@ -988,9 +1004,7 @@ dia_svg_renderer_class_init (DiaSvgRendererClass *klass)
renderer_class->fill_bezier = fill_bezier;
renderer_class->draw_text_line = draw_text_line;
- /* svg specific */
+ /* SVG specific */
svg_renderer_class->get_draw_style = get_draw_style;
svg_renderer_class->get_fill_style = get_fill_style;
}
-
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]