diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2016-10-12 11:10:37 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2016-10-12 11:10:37 +0000 |
| commit | ce1a41cdce443963665ad56e2a73cbe63e5cdf5f (patch) | |
| tree | 4b4ee3b092910bf2bcc836f58c456d03d409614b /src/sp-gradient.cpp | |
| parent | [Bug #1426423] Updated Icelandic translation for 0.92. (diff) | |
| download | inkscape-ce1a41cdce443963665ad56e2a73cbe63e5cdf5f.tar.gz inkscape-ce1a41cdce443963665ad56e2a73cbe63e5cdf5f.zip | |
Render mesh gradients that reference other mesh gradients.
(bzr r15163)
Diffstat (limited to 'src/sp-gradient.cpp')
| -rw-r--r-- | src/sp-gradient.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/sp-gradient.cpp b/src/sp-gradient.cpp index 333316697..49f117a51 100644 --- a/src/sp-gradient.cpp +++ b/src/sp-gradient.cpp @@ -1144,15 +1144,17 @@ sp_gradient_pattern_common_setup(cairo_pattern_t *cp, } // add stops - for (std::vector<SPGradientStop>::iterator i = gr->vector.stops.begin(); - i != gr->vector.stops.end(); ++i) - { - // multiply stop opacity by paint opacity - cairo_pattern_add_color_stop_rgba(cp, i->offset, - i->color.v.c[0], i->color.v.c[1], i->color.v.c[2], i->opacity * opacity); + if (!SP_IS_MESHGRADIENT(gr)) { + for (std::vector<SPGradientStop>::iterator i = gr->vector.stops.begin(); + i != gr->vector.stops.end(); ++i) + { + // multiply stop opacity by paint opacity + cairo_pattern_add_color_stop_rgba(cp, i->offset, + i->color.v.c[0], i->color.v.c[1], i->color.v.c[2], i->opacity * opacity); + } } - // set pattern matrix + // set pattern transform matrix Geom::Affine gs2user = gr->gradientTransform; if (gr->getUnits() == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX && bbox) { Geom::Affine bbox2user(bbox->width(), 0, 0, bbox->height(), bbox->left(), bbox->top()); |
