mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-14 20:51:07 +00:00
ca71119a40
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. |
||
---|---|---|
.. | ||
gdkcairocontext-quartz.c | ||
gdkcairocontext-quartz.h | ||
gdkcursor-quartz.c | ||
gdkdevice-core-quartz.c | ||
gdkdevicemanager-core-quartz.c | ||
gdkdevicemanager-core-quartz.h | ||
gdkdisplay-quartz.c | ||
gdkdisplay-quartz.h | ||
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 | ||
gdkmonitor-quartz.c | ||
gdkmonitor-quartz.h | ||
gdkprivate-quartz.h | ||
gdkquartz.h | ||
gdkquartzcursor.h | ||
gdkquartzdevice-core.h | ||
gdkquartzdevicemanager-core.h | ||
gdkquartzdisplay.h | ||
gdkquartzdisplaymanager.h | ||
gdkquartzdnd.h | ||
gdkquartzkeys.h | ||
gdkquartzmonitor.h | ||
GdkQuartzNSWindow.c | ||
GdkQuartzNSWindow.h | ||
gdkquartzscreen.h | ||
gdkquartzsurface.h | ||
gdkquartzutils.h | ||
GdkQuartzView.c | ||
GdkQuartzView.h | ||
gdkscreen-quartz.c | ||
gdkscreen-quartz.h | ||
gdkselection-quartz.c | ||
gdksurface-quartz.c | ||
gdksurface-quartz.h | ||
gdkutils-quartz.c | ||
meson.build | ||
xcursors.h |