[cairo-bugs] [Bug 38117] New: cairo_show_glyphs sometimes draws in the wrong place with half pixel coords
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Jun 9 08:27:42 PDT 2011
https://bugs.freedesktop.org/show_bug.cgi?id=38117
Summary: cairo_show_glyphs sometimes draws in the wrong place
with half pixel coords
Product: cairo
Version: 1.10.2
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: general
AssignedTo: cworth at cworth.org
ReportedBy: martin at lispworks.com
QAContact: cairo-bugs at cairographics.org
Created an attachment (id=47775)
--> (https://bugs.freedesktop.org/attachment.cgi?id=47775)
Example source code
When using a transformation matrix that shifts by half a pixel,
cairo_show_glyphs sometimes draws the first and/or second glyphs in the wrong
place.
The effect varies depending on how much of the first glyph is visible in the
region being redrawn (I think it is related to the clip region that gtk sets
up). I've tested this on Fedora 14.
I've attached an example that displays a window divided into three sections and
also two strings "abc". The bottom string is drawn with an offset of half a
pixel horizontally relative to the top string.
Slightly different expose events can be generated to demonstrate the problem by
clicking in different thirds of the window
In 1.10.2 and master, clicking in the left third of the window displays the
correct strings.
In 1.10.2, clicking in the middle third of the window displays the "b" one
pixel to the left of where it should be and clicking in the right third of the
window displays both the "a" and the "b" one pixel to the left of where they
should be.
In master, clicking in the middle or right thirds of the window displays the
"b" one pixel to the left of where it should be.
--
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