gtk2/gdk/x11
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
..
gdkapplaunchcontext-x11.c Use commas to differentiate between text and filename 2019-07-24 13:51:22 +00:00
gdkasync.c Remove NEED_XIPROTO_H_FOR_XREPLY check 2019-08-21 20:46:30 +02:00
gdkasync.h
gdkcairocontext-x11.c Get rid of GdkSurfaceImpl 2019-05-28 20:25:14 +00:00
gdkcairocontext-x11.h
gdkclipboard-x11.c x11: Fix release build warnings 2020-01-18 11:49:16 -05:00
gdkclipboard-x11.h
gdkcursor-x11.c Remove primary monitor api 2020-01-30 21:33:37 +01:00
gdkdevice-xi2.c Get rid of GdkSurfaceImpl 2019-05-28 20:25:14 +00:00
gdkdevicemanager-x11.c gdk/x11: Drop GdkDeviceManagerCore 2019-05-15 01:05:29 +02:00
gdkdevicemanager-xi2.c gdk/x11: Properly unref removed device in XI2 device manager 2020-01-27 21:42:34 +01:00
gdkdevicemanagerprivate-core.h
gdkdisplay-x11.c x11: Make gdk_surface_get_position() return relative position 2020-02-19 09:47:18 +01:00
gdkdisplay-x11.h gdk/x11: Drop GdkDeviceManagerCore 2019-05-15 01:05:29 +02:00
gdkdrag-x11.c x11: Fix release build warnings 2020-01-18 11:49:16 -05:00
gdkdrop-x11.c x11: Fix release build warnings 2020-01-18 11:49:16 -05:00
gdkeventsource.c Revert "gdk: deactivate/activate surface on keyboard grabs" 2019-04-30 16:48:16 +02:00
gdkeventsource.h
gdkeventtranslator.c
gdkeventtranslator.h
gdkglcontext-x11.c Minor typos in the Documentation (a/an) 2019-08-25 12:52:46 +00:00
gdkglcontext-x11.h
gdkkeys-x11.c gdk: Stop using deprecated pango api 2019-02-04 18:28:31 -05:00
gdkmain-x11.c Correct GdkX11 import path in docs and include guards 2019-11-16 01:35:09 -08:00
gdkmonitor-x11.c Remove primary monitor api 2020-01-30 21:33:37 +01:00
gdkmonitor-x11.h
gdkprivate-x11.h x11: Implement popup surfaces 2019-05-28 20:25:14 +00:00
gdkproperty-x11.c
gdkscreen-x11.c hidpi: Rescan monitors when screen scale factor changes 2020-02-10 15:34:32 +01:00
gdkscreen-x11.h x11: add support for _GTK_WORKAREAS_Dn 2020-01-29 14:38:08 +02:00
gdkselection-x11.c
gdkselectioninputstream-x11.c
gdkselectioninputstream-x11.h
gdkselectionoutputstream-x11.c gdkselectionoutputstream-x11: Fix a memory leak 2019-10-27 14:05:46 +05:30
gdkselectionoutputstream-x11.h
gdksettings.c Add a gtk-overlay-scrolling setting 2019-05-31 14:07:15 +00:00
gdksurface-x11.c gdk/surface: Replace move_to_rect() with GdkPopupLayout based API 2020-02-19 09:47:18 +01:00
gdksurface-x11.h profiler: Add profiler marks for when surfaces are mapped and unmapped 2020-02-12 12:44:43 +01:00
gdktextlistconverter-x11.c
gdktextlistconverter-x11.h
gdkvisual-x11.c
gdkvisual-x11.h
gdkvulkancontext-x11.c
gdkvulkancontext-x11.h
gdkx11applaunchcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11device-xi2.h
gdkx11device.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11devicemanager-xi2.h
gdkx11devicemanager.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11display.h Remove primary monitor api 2020-01-30 21:33:37 +01:00
gdkx11dnd.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11glcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11keys.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11monitor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11property.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11screen.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11selection.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11surface.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx11utils.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx-autocleanups.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkx.h gdk/x11: Drop GdkDeviceManagerCore 2019-05-15 01:05:29 +02:00
gdkxftdefaults.c Don't use xsettings or xft defaults in testsuite 2020-02-03 15:11:35 +01:00
gdkxid.c x11: Stop using child surface api 2019-05-28 20:25:13 +00:00
meson.build Use a single compilation symbol 2019-11-27 13:33:43 +00:00
MwmUtil.h
xsettings-client.c Don't use xsettings or xft defaults in testsuite 2020-02-03 15:11:35 +01:00
xsettings-client.h