[cairo-bugs] [Bug 54991] New: Strokes aren't fully rendered at ends

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Sep 16 12:09:19 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=54991

             Bug #: 54991
           Summary: Strokes aren't fully rendered at ends
    Classification: Unclassified
           Product: cairo
           Version: 1.12.0
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: b7.10110111 at gmail.com
         QAContact: cairo-bugs at cairographics.org


Created attachment 67254
  --> https://bugs.freedesktop.org/attachment.cgi?id=67254
Comparison of new and old cairo renders

I'm developing oxygen-gtk, and it uses cairo for all its rendering. After I
updated to cairo-1.12 series, windeco button icons stopped rendering correctly.
See screenshot - in lowest example the lines seem shorter than in the middle
one. The upper example shows QPainter rendering which uses the same coords and
is the reference (qt-)oxygen implementation. This used to work correctly in
cairo-1.8 series.

How to reproduce:
1. compile oxygen-gtk with passing "-DBUILD_DECO_TEST=1" to cmake
2. install oxygen-gtk, run oxygen-gtk-deco
3. compare to renders in the screenshot

I've used git-bisect, here's the result:
545f30856aac98199a49cf66c72dbcb66c1f3a4f is the first bad commit
commit 545f30856aac98199a49cf66c72dbcb66c1f3a4f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Aug 15 09:44:03 2011 +0100

    stroke: Convert the outlines into contour and then into a polygon

    In step 1 of speeding up stroking, we introduce contours as a means for
    tracking the connected edges around the stroke. By keeping track of
    these chains, we can analyse the edges as we proceed and eliminate
    redundant vertices speeding up rasterisation.

    Coincidentally fixes line-width-tolerance (looks like a combination of
    using spline tangent vectors and tolerance).

    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

:040000 040000 288e083453c8201e22857190f04dc1dab7b1d715
d4ae5bd2c4569e3c80fc0b0e2ec8cd22a475b635 M      src
:040000 040000 44d5f22dbd42f0b41134031027314caafe92add3
9f05f71a73c59936de4ef23b5c5d710542787d5b M      util

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.


More information about the cairo-bugs mailing list