GtkLayout

GtkLayout — Infinite scrollable area containing child widgets and/or custom drawing

Properties

guint height Read / Write
guint width Read / Write

Child Properties

int x Read / Write
int y Read / Write

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 NULL.

[allow-none]

vadjustment

vertical scroll adjustment, or NULL.

[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

a GtkLayout

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

a GtkLayout

child_widget

a current child of layout

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

a GtkLayout

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

a GtkLayout

width

location to store the width set on layout , or NULL.

[out][allow-none]

height

location to store the height set on layout , or NULL.

[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.

Use gtk_scrollable_get_hadjustment()

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

a GtkLayout

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.

Use gtk_scrollable_get_vadjustment()

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

a GtkLayout

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.

Use gtk_scrollable_set_hadjustment()

Sets the horizontal scroll adjustment for the layout.

See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.

Parameters

layout

a GtkLayout

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.

Use gtk_scrollable_set_vadjustment()

Sets the vertical scroll adjustment for the layout.

See GtkScrolledWindow, GtkScrollbar, GtkAdjustment for details.

Parameters

layout

a GtkLayout

adjustment

new scroll adjustment.

[allow-none]

gtk_layout_get_bin_window ()

GdkWindow *
gtk_layout_get_bin_window (GtkLayout *layout);

Retrieve the bin window of the layout used for drawing operations.

Parameters

layout

a GtkLayout

Returns

a GdkWindow.

[transfer none]

Since: 2.14

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

© 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