summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-render-context.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2014-03-11 14:52:08 +0000
committertavmjong-free <tavmjong@free.fr>2014-03-11 14:52:08 +0000
commit1d31728fb7399f48d272560a290dc990b75a197e (patch)
treea343611a11ff84857602a12ef0bf872cfa28cf56 /src/extension/internal/cairo-render-context.cpp
parentAdd a few more style tests. (diff)
downloadinkscape-1d31728fb7399f48d272560a290dc990b75a197e.tar.gz
inkscape-1d31728fb7399f48d272560a290dc990b75a197e.zip
Change stroke-dasharray and stroke-dashoffset handling to match other properties.
Split style.h into more manageable size files. (bzr r13135)
Diffstat (limited to 'src/extension/internal/cairo-render-context.cpp')
-rw-r--r--src/extension/internal/cairo-render-context.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index 2916d9fa9..4ec6ae1c8 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -1297,10 +1297,14 @@ CairoRenderContext::_setStrokeStyle(SPStyle const *style, Geom::OptRect const &p
}
}
- if (style->stroke_dash.n_dash &&
- style->stroke_dash.dash )
+ if (!style->stroke_dasharray.values.empty())
{
- cairo_set_dash(_cr, style->stroke_dash.dash, style->stroke_dash.n_dash, style->stroke_dash.offset);
+ size_t ndashes = style->stroke_dasharray.values.size();
+ double* dashes =(double*)malloc(ndashes*sizeof(double));
+ for( unsigned i = 0; i < ndashes; ++i ) {
+ dashes[i] = style->stroke_dasharray.values[i];
+ }
+ cairo_set_dash(_cr, dashes, ndashes, style->stroke_dashoffset.value);
} else {
cairo_set_dash(_cr, NULL, 0, 0.0); // disable dashing
}