Issue 112193 - Aqua: avoid vertically-flipped graphics contexts
Summary: Aqua: avoid vertically-flipped graphics contexts
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: OOo 3.2
Hardware: Mac Mac OS X 10
: P3 Trivial (vote)
Target Milestone: OOo 3.x
Assignee: AOO issues mailing list
QA Contact:
Keywords: aqua
Depends on:
Reported: 2010-06-07 15:27 UTC by
Modified: 2013-07-30 02:14 UTC (History)
4 users (show)

See Also:
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description 2010-06-07 15:27:08 UTC
The VCL coordinate system is vertically flipped compared to the Quartz coordinate system. There are 
two possible approaches to handle this:
1. use a y-flipped height-shifted CTM for the graphics context to allow using VCL coordinates directly
2. flip y-coordinates manually before operating on a unity-CTM graphics context

OOo's  aqua-port choose method 1 and both approaches should work the same. Unfortunately it shows 
that OSX implements some improvements only for unity-CTM graphics contexts. Moving the baseline 
of text to pixel boundaries is probably the most important thing that is missing in y-flipped contexts, 
which cannot be emulated by moving the text coordinates. This results in grayish text baselines for y-
flipped contexts whereas a unity-CTM graphics context gets higher contrast baselines.

Unless Quartz/ATSUI/CoreText provide the chance to get the same look also for flipped-CTM graphics 
contexts we should consider to re-implement the VCL->Quartz glue code with approach 2 mentioned 
Comment 1 floeff+ooo 2010-06-08 09:42:30 UTC
If there's something I can help you with, albeit I'm not a developer, let me know.
Comment 2 philipp.lohmann 2010-06-08 10:23:35 UTC
thanks for the offer
Comment 3 2010-10-29 11:24:31 UTC
There is a good chance that the text improvements mentioned in my issue summary will also be 
implemented for some non-unity CTMs: Quartz docs advise to use a y-flip transformation for for drawing 
text onto a view on iOS, since it uses the same coordinate convention as VCL of the upper left corner being 
the origin of the coordinate system extending downwards. As of OSX 10.6.4 this doesn't seem to be the 
case yet.
Comment 4 Rob Weir 2013-07-30 02:14:19 UTC
Reset assignee on issues not touched by assignee in more than 2000 days.