| Top |
| GdkPopupLayout * | gdk_popup_layout_new () |
| GdkPopupLayout * | gdk_popup_layout_ref () |
| void | gdk_popup_layout_unref () |
| GdkPopupLayout * | gdk_popup_layout_copy () |
| gboolean | gdk_popup_layout_equal () |
| void | gdk_popup_layout_set_anchor_rect () |
| const GdkRectangle * | gdk_popup_layout_get_anchor_rect () |
| void | gdk_popup_layout_set_rect_anchor () |
| GdkGravity | gdk_popup_layout_get_rect_anchor () |
| void | gdk_popup_layout_set_surface_anchor () |
| GdkGravity | gdk_popup_layout_get_surface_anchor () |
| void | gdk_popup_layout_set_anchor_hints () |
| GdkAnchorHints | gdk_popup_layout_get_anchor_hints () |
| void | gdk_popup_layout_set_offset () |
| void | gdk_popup_layout_get_offset () |
Popups are positioned relative to their parent surface. The GdkPopupLayout struct contains information that is necessary to do so.
GdkPopupLayout * gdk_popup_layout_new (const GdkRectangle *anchor_rect,GdkGravity rect_anchor,GdkGravity surface_anchor);
Create a popup layout description. Used together with
gdk_surface_present_popup() to describe how a popup surface should be placed
and behave on-screen.
anchor_rect
is relative to the top-left corner of the surface's parent.
rect_anchor
and surface_anchor
determine anchor points on anchor_rect
and
surface to pin together.
The position of anchor_rect
's anchor point can optionally be offset using
gdk_popup_layout_set_offset(), which is equivalent to offsetting the
position of surface.
[constructor]
anchor_rect |
the anchor GdkRectangle to align |
[not nullable] |
rect_anchor |
the point on |
|
surface_anchor |
the point on |
GdkPopupLayout *
gdk_popup_layout_ref (GdkPopupLayout *layout);
Increases the reference count of value
.
void
gdk_popup_layout_unref (GdkPopupLayout *layout);
Decreases the reference count of value
.
GdkPopupLayout *
gdk_popup_layout_copy (GdkPopupLayout *layout);
Create a new GdkPopupLayout and copy the contents of layout
into it.
gboolean gdk_popup_layout_equal (GdkPopupLayout *layout,GdkPopupLayout *other);
Check whether layout
and other
has identical layout properties.
void gdk_popup_layout_set_anchor_rect (GdkPopupLayout *layout,const GdkRectangle *anchor_rect);
Set the anchor rectangle.
const GdkRectangle *
gdk_popup_layout_get_anchor_rect (GdkPopupLayout *layout);
Get the anchor rectangle.
void gdk_popup_layout_set_rect_anchor (GdkPopupLayout *layout,GdkGravity anchor);
Set the anchor on the anchor rectangle.
GdkGravity
gdk_popup_layout_get_rect_anchor (GdkPopupLayout *layout);
Returns the anchor position on the anchor rectangle.
void gdk_popup_layout_set_surface_anchor (GdkPopupLayout *layout,GdkGravity anchor);
Set the anchor on the popup surface.
GdkGravity
gdk_popup_layout_get_surface_anchor (GdkPopupLayout *layout);
Returns the anchor position on the popup surface.
void gdk_popup_layout_set_anchor_hints (GdkPopupLayout *layout,GdkAnchorHints anchor_hints);
Set new anchor hints.
The set anchor_hints
determines how surface
will be moved if the anchor
points cause it to move off-screen. For example, GDK_ANCHOR_FLIP_X will
replace GDK_GRAVITY_NORTH_WEST with GDK_GRAVITY_NORTH_EAST and vice versa
if surface
extends beyond the left or right edges of the monitor.
GdkAnchorHints
gdk_popup_layout_get_anchor_hints (GdkPopupLayout *layout);
Get the GdkAnchorHints.
void gdk_popup_layout_set_offset (GdkPopupLayout *layout,int dx,int dy);
Offset the position of the anchor rectangle with the given delta.
void gdk_popup_layout_get_offset (GdkPopupLayout *layout,int *dx,int *dy);
Get the delta the anchor rectangle is offset with