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 but paint a blank background by default. It's different in that it supports scrolling natively (you can add it to a GtkScrolledWindow), and it can contain child widgets, since it’s a GtkContainer. However if you’re just going to draw, a GtkDrawingArea is a better choice since it has lower overhead.
When handling expose events on a GtkLayout, you must draw to GTK_LAYOUT (layout)->bin_window, rather than to GTK_WIDGET (layout)->window, as you would for a drawing area.
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
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()
.
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.
Flags: Read / Write
Allowed values: <= G_MAXINT
Default value: 100
The “width”
property
“width” guint
The width of the layout.
Flags: Read / Write
Allowed values: <= G_MAXINT
Default value: 100
Child Property Details
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.20/GtkLayout.html