gtk/gdk/quartz
Christoph Reiter 3f077ec36f quartz: fix pixelated image surfaces in retina/hidpi mode
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
2016-03-23 16:27:10 +01:00
..
gdkcursor-quartz.c quartz: Don't use the instancetype keyword 2015-10-25 13:26:01 -04:00
gdkdevice-core-quartz.c Bug 704216: Fix prototype for gdk_quartz_device_core_warp. 2013-07-15 10:18:22 -07:00
gdkdevicemanager-core-quartz.c quartz: Use GdkSeatDefault to implement GdkSeat 2015-12-15 00:40:21 +01:00
gdkdevicemanager-core-quartz.h Fix attempted inclusion of local headers with system brackets. 2013-04-22 15:48:34 -07:00
gdkdisplay-quartz.c gdk: remove the display->list_devices vfunc 2016-02-29 21:53:58 +01:00
gdkdisplaymanager-quartz.c Remove framework initialization code 2013-05-10 17:25:58 -07:00
gdkdnd-quartz.c gdk: Allow passing the start coordinates in drag_begin 2015-12-13 10:39:43 -05:00
gdkdnd-quartz.h Fix attempted inclusion of local headers with system brackets. 2013-04-22 15:48:34 -07:00
gdkeventloop-quartz.c quartz: Don't use g_print for debug output 2016-02-28 21:40:23 -05:00
gdkevents-quartz.c quartz: fix quartz build 2016-03-17 21:18:58 -07:00
gdkglcontext-quartz.c quartz: Non-implementation of GdkGLContext 2015-05-09 23:59:29 -04:00
gdkglcontext-quartz.h quartz: Non-implementation of GdkGLContext 2015-05-09 23:59:29 -04:00
gdkglobals-quartz.c quartz: add mountain lion as version 8 to enum GdkOSXVersion 2012-11-29 15:00:57 +01:00
gdkkeys-quartz.c Bug 736125 - The default gtk accelerator mod mask does not include all default backend modifiers 2015-08-25 15:54:58 -04:00
gdkprivate-quartz.h gdk: Allow passing the start coordinates in drag_begin 2015-12-13 10:39:43 -05:00
gdkproperty-quartz.c Remove get_atom_name and atom_intern 2013-04-22 15:48:35 -07:00
gdkquartz.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzcursor.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzdevice-core.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzdevicemanager-core.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzdisplay.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzdisplaymanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzdnd.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzkeys.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
GdkQuartzNSWindow.c Fix Quartz Full Screen Crash. 2016-02-21 16:22:27 -08:00
GdkQuartzNSWindow.h quartz: Implement CSD drag resize for all edges/corners 2015-08-08 13:28:35 +02:00
gdkquartzscreen.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzutils.h Move get_key_equivalent() to gdk quartz utils. 2014-01-08 17:42:19 -05:00
GdkQuartzView.c quartz: Don't use g_print for debug output 2016-02-28 21:40:23 -05:00
GdkQuartzView.h Bug 705750 Quartz input method doesn't work correctly for Chinese characters 2013-08-16 11:18:29 -07:00
gdkquartzvisual.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkquartzwindow.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkscreen-quartz.c Remove redundant checks for NULL 2014-10-02 19:06:03 +02:00
gdkscreen-quartz.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkselection-quartz.c quartz: Strip newlines from g_warning and g_error 2016-02-28 12:23:12 -05:00
gdktestutils-quartz.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkutils-quartz.c Move get_key_equivalent() to gdk quartz utils. 2014-01-08 17:42:19 -05:00
gdkvisual-quartz.c gdk: calculate pixel color shift and precision lazily 2016-02-27 12:27:54 +01:00
gdkwindow-quartz.c quartz: fix pixelated image surfaces in retina/hidpi mode 2016-03-23 16:27:10 +01:00
gdkwindow-quartz.h quartz: disable system shadows if a GdkWindow shadow is set. 2015-07-27 17:26:46 +02:00
Makefile.am quartz: Non-implementation of GdkGLContext 2015-05-09 23:59:29 -04:00
xcursors.h Fallback to X cursors for the ones that OS X doesn't provide. Fixes bug 2007-06-25 19:43:22 +00:00