diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2014-03-06 13:32:52 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2014-03-06 13:32:52 +0000 |
| commit | 908626dbefcefb35c8cef0971ca3db2eec06b2d1 (patch) | |
| tree | 97d7d3ff33fbec7b00fa7a5cecfed26de8607f91 | |
| parent | Rewrite of pattern geometry code. Fix for 1288489. (diff) | |
| download | inkscape-908626dbefcefb35c8cef0971ca3db2eec06b2d1.tar.gz inkscape-908626dbefcefb35c8cef0971ca3db2eec06b2d1.zip | |
Take "preserveAspectRatio" into account in pattern.
(bzr r13121)
| -rw-r--r-- | src/sp-pattern.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/sp-pattern.cpp b/src/sp-pattern.cpp index 62cb0b2a9..e465565c4 100644 --- a/src/sp-pattern.cpp +++ b/src/sp-pattern.cpp @@ -606,16 +606,11 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b // Content to tile (pattern space) Geom::Affine content2ps; if (this->viewBox_set) { - // viewBox to pattern server - Geom::Rect vb = *pattern_viewBox(this); - gdouble tmp_x = tile_width / vb.width(); - gdouble tmp_y = tile_height / vb.height(); - - // FIXME: preserveAspectRatio must be taken into account here too! - Geom::Affine vb2ps = Geom::Affine(tmp_x, 0.0, 0.0, tmp_y, - /*tile_x*/ - vb.left() * tmp_x, - /*tile_y*/ - vb.top() * tmp_y); - content2ps = vb2ps; + // viewBox to pattern server (using SPViewBox) + viewBox = *pattern_viewBox(this); + c2p.setIdentity(); + apply_viewbox( pattern_tile ); + content2ps = c2p; } else { // Content to bbox |
