forked from AuroraMiddleware/gtk
3f077ec36f
gtk+ currently depends on the scaling factor and the cairo device scale of both the backend surfaces and image surfaces to be equal. Until now we didn't apply a cairo device scale at all and depended on the automatic scaling of CGContexts. This works when drawing with cairo but fails in case of image surfaces, which get requested at a too small size. To make the quartz backend behave more like the X11 one, set the cairo device scale on the surface in gdk_quartz_ref_cairo_surface(). As this conflicts with the default scaling done by CGContext (we would get double scaling) undo the CGContext scaling using CGContextScaleCTM(). This patch is based on the following patches by Brion Vibber: https://bugzilla.gnome.org/show_bug.cgi?id=740199#c4 https://bugs.freedesktop.org/show_bug.cgi?id=69796#c4 https://bugzilla.gnome.org/show_bug.cgi?id=763779 |
||
---|---|---|
.. | ||
gdkcursor-quartz.c | ||
gdkdevice-core-quartz.c | ||
gdkdevicemanager-core-quartz.c | ||
gdkdevicemanager-core-quartz.h | ||
gdkdisplay-quartz.c | ||
gdkdisplaymanager-quartz.c | ||
gdkdnd-quartz.c | ||
gdkdnd-quartz.h | ||
gdkeventloop-quartz.c | ||
gdkevents-quartz.c | ||
gdkglcontext-quartz.c | ||
gdkglcontext-quartz.h | ||
gdkglobals-quartz.c | ||
gdkkeys-quartz.c | ||
gdkprivate-quartz.h | ||
gdkproperty-quartz.c | ||
gdkquartz.h | ||
gdkquartzcursor.h | ||
gdkquartzdevice-core.h | ||
gdkquartzdevicemanager-core.h | ||
gdkquartzdisplay.h | ||
gdkquartzdisplaymanager.h | ||
gdkquartzdnd.h | ||
gdkquartzkeys.h | ||
GdkQuartzNSWindow.c | ||
GdkQuartzNSWindow.h | ||
gdkquartzscreen.h | ||
gdkquartzutils.h | ||
GdkQuartzView.c | ||
GdkQuartzView.h | ||
gdkquartzvisual.h | ||
gdkquartzwindow.h | ||
gdkscreen-quartz.c | ||
gdkscreen-quartz.h | ||
gdkselection-quartz.c | ||
gdktestutils-quartz.c | ||
gdkutils-quartz.c | ||
gdkvisual-quartz.c | ||
gdkwindow-quartz.c | ||
gdkwindow-quartz.h | ||
Makefile.am | ||
xcursors.h |