gtk/gdk/quartz
Jonas Ådahl ca71119a40 gdk/surface: Replace move_to_rect() with GdkPopupLayout based API
Replace the gdk_surface_move_to_rect() API with a new GdkSurface
method called gdk_surface_present_popup() taking a new GdkPopupLayout
object describing how they should be laid out on screen.

The layout properties provided are the same as the ones used with
gdk_surface_move_to_rect(), except they are now set up using
GdkPopupLayout.

Calling gdk_surface_present_popup() will either show the popup at the
position described using the popup layout object and a new unconstrained
size, or reposition it accordingly.

In some situations, such as when a popup is set to autohide, presenting
may immediately fail, in case the grab was not granted by the display
server.

After a successful present, the result of the layout can be queried
using the following methods:

 * gdk_surface_get_position() - to get the position relative to its
   parent
 * gdk_surface_get_width() - to get the current width
 * gdk_surface_get_height() - to get the current height
 * gdk_surface_get_rect_anchor() - to get the anchor point on the anchor
   rectangle the popup was effectively positioned against given
   constraints defined by the environment and the layout rules provided
   via GdkPopupLayout.
 * gdk_surface_get_surface_anchor() - the same as the one above but for
   the surface anchor.

A new signal replaces the old "moved-to-rect" one -
"popup-layout-changed". However, it is only intended to be emitted when
the layout changes implicitly by the windowing system, for example if
the monitor resolution changed, or the parent window moved.
2020-02-19 09:47:18 +01:00
..
gdkcairocontext-quartz.c gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
gdkcairocontext-quartz.h gdk: Add Cairo context implementations for all backends 2018-04-24 23:16:12 +02:00
gdkcursor-quartz.c gdk: Remove ability to download a cursor 2017-11-04 00:07:13 +01:00
gdkdevice-core-quartz.c Rename gdk_surface_get_device_position_double 2019-03-26 18:12:54 -04:00
gdkdevicemanager-core-quartz.c quartz: Stop deriving from GdkDeviceManager 2017-11-25 11:04:15 -05:00
gdkdevicemanager-core-quartz.h quartz: Stop deriving from GdkDeviceManager 2017-11-25 11:04:15 -05:00
gdkdisplay-quartz.c Remove primary monitor api 2020-01-30 21:33:37 +01:00
gdkdisplay-quartz.h surface: Kill event masks 2018-06-18 23:49:52 +02:00
gdkdisplaymanager-quartz.c Remove framework initialization code 2013-05-10 17:25:58 -07:00
gdkdnd-quartz.c dnd: Remove GdkDragContext.is_source 2018-06-18 23:49:53 +02:00
gdkdnd-quartz.h Fix attempted inclusion of local headers with system brackets. 2013-04-22 15:48:34 -07:00
gdkeventloop-quartz.c gdk: Get rid of gdk_event_free() 2018-05-29 21:53:44 +02:00
gdkevents-quartz.c Drop child surfaces 2019-05-28 20:25:13 +00:00
gdkglcontext-quartz.c GdkWindow -> GdkSurface initial type rename 2018-03-20 11:40:08 +01:00
gdkglcontext-quartz.h GdkWindow -> GdkSurface: File renames 2018-03-20 11:46:11 +01:00
gdkglobals-quartz.c GdkWindow -> GdkSurface initial type rename 2018-03-20 11:40:08 +01:00
gdkkeys-quartz.c gdk_quartz_keymap_translate_keyboard_state fills consumed_modifiers 2020-01-10 22:18:24 +01:00
gdkmonitor-quartz.c quartz: do not cache the screen in the gdkmonitor 2018-10-17 10:10:44 +02:00
gdkmonitor-quartz.h quartz: do not cache the screen in the gdkmonitor 2018-10-17 10:10:44 +02:00
gdkprivate-quartz.h Fix up indentation after GdkSurface rename 2018-03-21 09:06:31 +01:00
gdkquartz.h Update GDK_OSX versions to current MacOS release. 2018-11-01 15:38:29 -07:00
gdkquartzcursor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzdevice-core.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzdevicemanager-core.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzdisplay.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzdisplaymanager.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzdnd.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzkeys.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzmonitor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
GdkQuartzNSWindow.c Rename "iconify" to "minimize" 2019-11-16 20:07:37 +00:00
GdkQuartzNSWindow.h GdkWindow -> GdkSurface initial type rename 2018-03-20 11:40:08 +01:00
gdkquartzscreen.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzsurface.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkquartzutils.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
GdkQuartzView.c Continue renaming window to surface 2018-03-21 11:49:14 +01:00
GdkQuartzView.h Continue renaming window to surface 2018-03-21 11:49:14 +01:00
gdkscreen-quartz.c Rename more GSources to use gtk 2019-02-06 10:37:24 +01:00
gdkscreen-quartz.h quartz: Make GdkQuartzScreen a plain object 2017-11-17 13:47:15 -05:00
gdkselection-quartz.c Drop gdk_atom_intern 2017-12-13 23:39:03 -05:00
gdksurface-quartz.c gdk/surface: Replace move_to_rect() with GdkPopupLayout based API 2020-02-19 09:47:18 +01:00
gdksurface-quartz.h GdkSurface: Rename various functions and variables 2018-03-20 12:05:26 +01:00
gdkutils-quartz.c Move get_key_equivalent() to gdk quartz utils. 2014-01-08 17:42:19 -05:00
meson.build Use a single compilation symbol 2019-11-27 13:33:43 +00: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