Bug 48818

Summary: Dashes lengths are not in user-space units anymore
Product: cairo Reporter: Guillaume Ayoub <xovni>
Component: generalAssignee: 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

Description Guillaume Ayoub 2012-04-17 04:57:50 UTC
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 :).
Comment 1 Guillaume Ayoub 2012-04-17 04:58:33 UTC
Created attachment 60165 [details]
Output with cairo 1.10.0
Comment 2 Guillaume Ayoub 2012-04-17 04:59:40 UTC
Created attachment 60166 [details]
Output with cairo 1.10.0
Comment 3 Guillaume Ayoub 2012-04-17 05:01:07 UTC
Created attachment 60167 [details]
Output with cairo 1.12.0
Comment 4 Chris Wilson 2012-04-17 05:12:44 UTC
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.
Comment 5 Chris Wilson 2012-04-18 07:30:17 UTC
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.