[cairo] create_surface_for_cg_context behavior in Cairo 1.9 vs. 1.12

cu cairouser at yahoo.com
Fri Jun 1 07:15:39 PDT 2012

Found a difference of behavior between Cairo Quartz in 1.9.8 and 1.12.x
versions of Cairo (which resulted in a bug in our application). Some
guidance would be appreciated.

We create surface  with "surface_for_cg_context" where cg context is
that of a view on iPhone screen. For "retina" displays, with cairo 1.9.8
surface is created sized in "points" with 2.0 scale transform (which is
our desired behavior - to match the view of non-retina devices). With
cairo 1.12 surface is created without the transform (i.e. sized in
"retina" pixels). In our case that results in scaled down image covering
top left quarter of the view.

What is the reason for this discrepancy? What should be the correct
behavior and how do we handle it?

Thank you!

More information about the cairo mailing list