![]() |
![]() |
![]() |
GTK+ 3 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Signals |
#include <gtk/gtk.h> struct GtkOverlay; GtkWidget * gtk_overlay_new (void
); void gtk_overlay_add_overlay (GtkOverlay *overlay
,GtkWidget *widget
);
GObject +----GInitiallyUnowned +----GtkWidget +----GtkContainer +----GtkBin +----GtkOverlay
GtkOverlay is a container which contains a single main child, on top
of which it can place overlay widgets. The
position of each overlay widget is determined by its "halign"
and "valign" properties. E.g. a widget with both alignments
set to GTK_ALIGN_START
will be placed at the top left corner of the
main widget, whereas an overlay with halign set to GTK_ALIGN_CENTER
and valign set to GTK_ALIGN_END
will be placed a the bottom edge of
the main widget, horizontally centered. The position can be adjusted
by setting the margin properties of the child to non-zero values.
More complicated placement of overlays is possible by connecting to the "get-child-position" signal.
The GtkOverlay implementation of the GtkBuildable interface
supports placing a child as an overlay by specifying "overlay" as
the "type" attribute of a <child>
element.
GtkWidget * gtk_overlay_new (void
);
Creates a new GtkOverlay.
Returns : |
a new GtkOverlay object. |
Since 3.2
void gtk_overlay_add_overlay (GtkOverlay *overlay
,GtkWidget *widget
);
Adds widget
to overlay
.
The widget will be stacked on top of the main widget
added with gtk_container_add()
.
The position at which widget
is placed is determined
from its "halign" and "valign" properties.
|
a GtkOverlay |
|
a GtkWidget to be added to the container |
Since 3.2
"get-child-position"
signalgboolean user_function (GtkOverlay *overlay,
GtkWidget *widget,
GdkRectangle *allocation,
gpointer user_data) : Run Last
The ::get-child-position signal is emitted to determine
the position and size of any overlay child widgets. A
handler for this signal should fill allocation
with
the desired position and size for widget
, relative to
the 'main' child of overlay
.
The default handler for this signal uses the widget
's
halign and valign properties to determine the position
and gives the widget its natural size (except that an
alignment of GTK_ALIGN_FILL
will cause the overlay to
be full-width/height). If the main child is a
GtkScrolledWindow, the overlays are placed relative
to its contents.
Return: TRUE
if the allocation
has been filled
|
the GtkOverlay |
|
the child widget to position |
|
return location for the allocation. [out] |
|
user data set when the signal handler was connected. |