gtk/gdk
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
..
broadway broadway: Use explicit sizes for payload length 2016-03-20 05:51:42 +01:00
deprecated gdkcolor.h: Use GDK_DEPRECATED_IN_3_14_FOR() throughout 2015-04-17 11:16:30 -05:00
mir mir: display->list_devices vfunc was dropped 2016-03-02 10:24:44 +01:00
quartz quartz: fix pixelated image surfaces in retina/hidpi mode 2016-03-23 16:27:10 +01:00
wayland wayland: avoid dropping surfaces when possible 2016-03-21 22:03:20 -04:00
win32 GDK W32: Don't move iconic windows 2016-03-18 07:49:39 +00:00
x11 dnd: Hide the drag window when we're done 2016-03-21 11:26:24 -04:00
COPYING Change FSF Address 2012-02-27 17:06:11 +00:00
fallback-c89.c gdk/fallback-c89.c: Add fallback for round() 2013-03-13 13:22:46 +08:00
gdk-autocleanup.h gdk: Add support for g_autoptr() 2015-02-02 09:28:22 +01:00
gdk-private.c gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdk-private.h gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdk.c Trivial formatting fix 2016-03-11 21:42:33 -05:00
gdk.h gdk: Add GdkSeat 2015-12-15 00:16:15 +01:00
gdkapplaunchcontext.c docs: replace all <examples> with markdown headings 2014-02-04 16:58:54 -05:00
gdkapplaunchcontext.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkapplaunchcontextprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkcairo.c gdkcairo: Bail if surface is in error 2015-02-25 01:55:28 +01:00
gdkcairo.h gdk: Add support for OpenGL 2014-10-13 10:43:31 -04:00
gdkconfig.h.win32 Clean up the pre-configured gdkconfig.h.win32 2013-05-28 13:04:37 +08:00
gdkconfig.h.win32_broadway Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdkcursor.c Add context-menu to the list of standard cursor names 2016-01-06 14:57:42 -05:00
gdkcursor.h Update docs 2015-05-08 13:34:25 -04:00
gdkcursorprivate.h gdk: Add gdk_cursor_get_surface() 2013-08-07 13:34:10 +02:00
gdkdeprecated.c docs: use Returns: consistently 2014-02-19 18:56:05 -05:00
gdkdevice.c device: Add a num-touches property 2016-02-25 08:27:08 -05:00
gdkdevice.h gdk: Deprecate GdkDeviceManager and gdk_device_grab/ungrab() 2015-12-15 00:40:21 +01:00
gdkdevicemanager.c Improve deprecation note for gdk_device_manager_get_client_pointer 2016-01-11 15:09:47 -05:00
gdkdevicemanager.h gdk: Deprecate GdkDeviceManager and gdk_device_grab/ungrab() 2015-12-15 00:40:21 +01:00
gdkdevicemanagerprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkdeviceprivate.h device: Add a num-touches property 2016-02-25 08:27:08 -05:00
gdkdisplay.c gdk: implement gdk_display_list_devices using GdkSeat 2016-02-29 21:54:01 +01:00
gdkdisplay.h gdk: Deprecate GdkDeviceManager and gdk_device_grab/ungrab() 2015-12-15 00:40:21 +01:00
gdkdisplaymanager.c gdk: Add a way to show included backends 2016-02-18 22:03:12 -05:00
gdkdisplaymanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdisplaymanagerprivate.h gdk: Unvfuncify gdk_display_manager_open_display() 2013-04-19 16:23:43 -04:00
gdkdisplayprivate.h gdk: remove the display->list_devices vfunc 2016-02-29 21:53:58 +01:00
gdkdnd.c gdk: Add a missing Since tag 2016-03-20 22:45:06 -04:00
gdkdnd.h gdk: Add GdkDragCancelReason enum as argument to GdkDragContext::cancel 2016-02-15 18:35:51 +01:00
gdkdndprivate.h gdkdnd: Add private means to commit the drag status 2016-03-14 16:50:36 +01:00
gdkenumtypes.c.template Include config.h in gdkenumtypes.c.template 2013-03-15 09:19:35 -04:00
gdkenumtypes.h.template Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkevents.c gdkdnd: Add private means to commit the drag status 2016-03-14 16:50:36 +01:00
gdkevents.h wayland: add gdk_event_is_scroll_stop_event() 2016-01-18 21:36:23 +01:00
gdkframeclock.c gdk: Don't use g_print for debug output 2016-02-28 21:40:23 -05:00
gdkframeclock.h Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkframeclockidle.c Add and use GDK_CHECK_DEBUG macro 2016-02-28 21:40:30 -05:00
gdkframeclockidle.h GdkFrameClockIdle: Add a missing declaration 2014-09-05 20:44:22 -04:00
gdkframeclockprivate.h docs: add docs for GtkFrameClock 2014-01-20 18:27:28 -05:00
gdkframetimings.c docs: use proper apostrophe 2014-02-07 13:06:10 -05:00
gdkframetimings.h Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkgl.c gdk: Strip newlines from g_warning and g_error 2016-02-28 12:23:12 -05:00
gdkglcontext.c gdk: Don't use g_print for debug output 2016-02-28 21:40:23 -05:00
gdkglcontext.h gdk: Allow querying if a GL context is in legacy mode 2015-10-07 16:21:57 +01:00
gdkglcontextprivate.h gl: Store the legacy bit in the GL program data 2015-10-07 16:21:57 +01:00
gdkglobals.c Add GDK_GL env var and GdkGLFlags 2014-11-06 12:24:43 +01:00
gdkinternals.h gdk: Compress window state events 2016-03-02 10:22:17 +08:00
gdkintl.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkkeynames.c Keep XF86 keysym names working 2013-04-19 20:11:39 -04:00
gdkkeys.c Intern all signal names beforehand 2015-09-12 12:50:39 -04:00
gdkkeys.h gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeysprivate.h gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeysyms-compat.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeysyms-update.pl gdkkeysyms-update: Remove workarounds for old bugs 2013-07-17 16:40:05 -04:00
gdkkeysyms.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeyuni.c W32: Fix for commit 1f74f12d9, re-enabling decimal separator key 2016-02-26 17:24:32 +00:00
gdkmain.h Make global GDK libgtk_only functions more private 2014-11-08 00:20:15 -05:00
gdkmarshalers.list Bug 631599 - Allow to use arbitrary surfaces for offscreen windows 2010-10-14 13:25:23 +02:00
gdkoffscreenwindow.c gdkoffscreenwindow: use embedder to derive surfaces & scale factor 2015-12-03 21:47:29 +00:00
gdkpango.c docs: Another round of markup removal 2014-03-29 00:24:15 -04:00
gdkpango.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdkpixbuf-drawable.c Fix the fix to the last commit 2015-12-16 12:42:27 +00:00
gdkpixbuf.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkprivate.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkproperty.c Trivial formatting fix 2014-08-30 00:53:21 -04:00
gdkproperty.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkrectangle.c Clarify docs for gdk_rectangle_union 2016-01-20 13:44:34 -05:00
gdkrectangle.h gdk: Add gdk_rectangle_equal() 2015-10-03 22:26:27 -04:00
gdkrgba.c Revert "Add missing (out) annotation to gdk_rgba_parse" 2016-02-02 15:08:10 +00:00
gdkrgba.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkscreen.c gdk: Clarify docs about scale 2016-01-18 08:54:35 -05:00
gdkscreen.h Revert "Introduce API to get the preferred visual" 2014-02-10 22:15:28 -05:00
gdkscreenprivate.h Handle resolution changes in the GDK backend code 2014-07-13 15:35:23 -04:00
gdkseat.c gdk: Reword some docs 2016-03-20 22:29:37 -04:00
gdkseat.h GdkSeat: Add G_BEGIN_DECLS and G_END_DECLS 2015-12-22 10:33:41 +01:00
gdkseatdefault.c gdk: Strip newlines from g_warning and g_error 2016-02-28 12:23:12 -05:00
gdkseatdefaultprivate.h gdk: Add GdkSeatDefault 2015-12-15 00:16:15 +01:00
gdkseatprivate.h gdk: Add GdkSeat 2015-12-15 00:16:15 +01:00
gdkselection.c gdk: assorted introspection and documentation fixes 2014-05-19 11:47:59 -07:00
gdkselection.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdktestutils.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkthreads.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdktypes.h gdkborder: remove unneeded definition 2016-02-03 11:20:52 -05:00
gdkversionmacros.h.in gdk: Add version macros for 3.20 2015-10-03 22:24:17 -04:00
gdkvisual.c gdk: calculate pixel color shift and precision lazily 2016-02-27 12:27:54 +01:00
gdkvisual.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdkvisualprivate.h gdk: calculate pixel color shift and precision lazily 2016-02-27 12:27:54 +01:00
gdkwindow.c Trivial formatting fix 2016-03-11 21:42:33 -05:00
gdkwindow.h gdkwindow: move GdkWindowTypeHint to gdktypes.h 2015-12-15 10:13:03 -05:00
gdkwindowimpl.c gdkwindow: Provide a default implementation of process_updates_recurse 2014-06-22 10:20:50 -04:00
gdkwindowimpl.h gdk: Allow passing the start coordinates in drag_begin 2015-12-13 10:39:43 -05:00
gdkx.h Change FSF Address 2012-02-27 17:06:11 +00:00
gen-keyname-table.pl gdk: Make gen-keyname-table.pl work again 2011-10-26 10:36:43 +01:00
keyname-table.h docs: use proper quotations instead of '*' 2014-02-07 14:22:39 -05:00
keynames-translate.txt Add AudioMicMute 2013-07-17 17:52:19 -04:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
Makefile.am win32: move gdkvisual code in gdkscreen 2016-02-28 11:37:38 +01:00
makefile.msc win32: gdk3 resurrection 2011-01-02 13:33:04 +01:00