Summary: |
cairo_show_glyphs sometimes draws in the wrong place with half pixel coords |
Product: |
cairo
|
Reporter: |
Martin Simmons <martin> |
Component: |
general | Assignee: |
Carl Worth <cworth> |
Status: |
RESOLVED
MOVED
|
QA Contact: |
cairo-bugs mailing list <cairo-bugs> |
Severity: |
normal
|
|
|
Priority: |
medium
|
|
|
Version: |
1.10.2 | |
|
Hardware: |
x86-64 (AMD64) | |
|
OS: |
Linux (All) | |
|
Whiteboard: |
|
i915 platform:
|
|
i915 features:
|
|
Attachments: |
Example source code
|
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 47775 [details] 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.