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