GtkLayout
GtkLayout — Infinite scrollable area containing child widgets and/or custom drawing
Functions
GtkWidget * | gtk_layout_new () |
void | gtk_layout_put () |
void | gtk_layout_move () |
void | gtk_layout_set_size () |
void | gtk_layout_get_size () |
GtkAdjustment * | gtk_layout_get_hadjustment () |
GtkAdjustment * | gtk_layout_get_vadjustment () |
void | gtk_layout_set_hadjustment () |
void | gtk_layout_set_vadjustment () |
GdkWindow * | gtk_layout_get_bin_window () |
Types and Values
struct | GtkLayout |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkLayout
Implemented Interfaces
GtkLayout implements AtkImplementorIface, GtkBuildable and GtkScrollable.
Includes
#include <gtk/gtk.h>
Description
GtkLayout is similar to GtkDrawingArea in that it’s a “blank slate” and doesn’t do anything except paint a blank background by default. It’s different in that it supports scrolling natively due to implementing GtkScrollable, and can contain child widgets since it’s a GtkContainer.
If you just want to draw, a GtkDrawingArea is a better choice since it has lower overhead. If you just need to position child widgets at specific points, then GtkFixed provides that functionality on its own.
When handling expose events on a GtkLayout, you must draw to the GdkWindow returned by gtk_layout_get_bin_window()
, rather than to the one returned by gtk_widget_get_window()
as you would for a GtkDrawingArea.
Functions
gtk_layout_new ()
GtkWidget * gtk_layout_new (GtkAdjustment *hadjustment
,GtkAdjustment *vadjustment
);
Creates a new GtkLayout. Unless you have a specific adjustment you’d like the layout to use for scrolling, pass NULL
for hadjustment
and vadjustment
.
Parameters
hadjustment | horizontal scroll adjustment, or | [allow-none] |
vadjustment | vertical scroll adjustment, or | [allow-none] |
Returns
a new GtkLayout
gtk_layout_put ()
void gtk_layout_put (GtkLayout *layout
,GtkWidget *child_widget
,gint x
,gint y
);
Adds child_widget
to layout
, at position (x
,y
). layout
becomes the new parent container of child_widget
.
Parameters
layout | ||
child_widget | child widget | |
x | X position of child widget | |
y | Y position of child widget |
gtk_layout_move ()
void gtk_layout_move (GtkLayout *layout
,GtkWidget *child_widget
,gint x
,gint y
);
Moves a current child of layout
to a new position.
Parameters
layout | ||
child_widget | a current child of | |
x | X position to move to | |
y | Y position to move to |
gtk_layout_set_size ()
void gtk_layout_set_size (GtkLayout *layout
,guint width
,guint height
);
Sets the size of the scrollable area of the layout.
Parameters
layout | ||
width | width of entire scrollable area | |
height | height of entire scrollable area |
gtk_layout_get_size ()
void gtk_layout_get_size (GtkLayout *layout
,guint *width
,guint *height
);
Gets the size that has been set on the layout, and that determines the total extents of the layout’s scrollbar area. See gtk_layout_set_size()
.
Parameters
layout | ||
width | location to store the width set on | [out][allow-none] |
height | location to store the height set on | [out][allow-none] |
gtk_layout_get_hadjustment ()
GtkAdjustment *
gtk_layout_get_hadjustment (GtkLayout *layout
);
gtk_layout_get_hadjustment
has been deprecated since version 3.0 and should not be used in newly-written code.
This function should only be called after the layout has been placed in a GtkScrolledWindow or otherwise configured for scrolling. It returns the GtkAdjustment used for communication between the horizontal scrollbar and layout
.
See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.
Parameters
layout |
Returns
horizontal scroll adjustment.
[transfer none]
gtk_layout_get_vadjustment ()
GtkAdjustment *
gtk_layout_get_vadjustment (GtkLayout *layout
);
gtk_layout_get_vadjustment
has been deprecated since version 3.0 and should not be used in newly-written code.
This function should only be called after the layout has been placed in a GtkScrolledWindow or otherwise configured for scrolling. It returns the GtkAdjustment used for communication between the vertical scrollbar and layout
.
See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.
Parameters
layout |
Returns
vertical scroll adjustment.
[transfer none]
gtk_layout_set_hadjustment ()
void gtk_layout_set_hadjustment (GtkLayout *layout
,GtkAdjustment *adjustment
);
gtk_layout_set_hadjustment
has been deprecated since version 3.0 and should not be used in newly-written code.
Sets the horizontal scroll adjustment for the layout.
See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.
Parameters
layout | ||
adjustment | new scroll adjustment. | [allow-none] |
gtk_layout_set_vadjustment ()
void gtk_layout_set_vadjustment (GtkLayout *layout
,GtkAdjustment *adjustment
);
gtk_layout_set_vadjustment
has been deprecated since version 3.0 and should not be used in newly-written code.
Sets the vertical scroll adjustment for the layout.
See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.
Parameters
layout | ||
adjustment | new scroll adjustment. | [allow-none] |
Types and Values
struct GtkLayout
struct GtkLayout;
Property Details
The “height”
property
“height” guint
The height of the layout.
Owner: GtkLayout
Flags: Read / Write
Allowed values: <= G_MAXINT
Default value: 100
The “width”
property
“width” guint
The width of the layout.
Owner: GtkLayout
Flags: Read / Write
Allowed values: <= G_MAXINT
Default value: 100
Child Property Details
The “x”
child property
“x” int
X position of child widget.
Owner: GtkLayout
Flags: Read / Write
Default value: 0
The “y”
child property
“y” int
Y position of child widget.
Owner: GtkLayout
Flags: Read / Write
Default value: 0
See Also
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkLayout.html