Summary: | Dashes lengths are not in user-space units anymore | ||
---|---|---|---|
Product: | cairo | Reporter: | Guillaume Ayoub <xovni> |
Component: | general | Assignee: | Chris Wilson <chris> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | xovni |
Version: | 1.12.0 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 44797 | ||
Attachments: |
Python script
Output with cairo 1.10.0 Output with cairo 1.10.0 Output with cairo 1.12.0 |
Created attachment 60165 [details]
Output with cairo 1.10.0
Created attachment 60166 [details]
Output with cairo 1.10.0
Created attachment 60167 [details]
Output with cairo 1.12.0
Ok, I see what I overlooked when implementing the dashed rectilinear stroker. The general stroker computes the scaling of the pen and applies it to the dash pattern as it generates its segments. commit 70fc52cb80f21fff0ba960236f24b997692cce64 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Apr 18 15:24:41 2012 +0100 stroke(boxes): Apply user scale factors to dash segments Fixes tests/rectilinear-dash-scale* Reported-by: Guillaume Ayoub <xovni@wanadoo.fr> Reported-by: Carlos Garcia Campos <carlosgc@gnome.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48818 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 60164 [details] Python script According to the documentation, dashes lengths must be given in user-space units. This behavior was respected in the 1.10.x versions, but it's not in 1.12.0. For example, scales are not applied anymore to these lengths (but, of course, they are applied on line widths, for example). Here is a little example (in Python, but this bug is not related to pycairo at all). This example is run with cairo 1.10.0 (works) and 1.12.0 (doesn't work). I think that this bug is introduced by the commit ba40686. I've tried to find a fix, but that's a little bit difficult for me :).