GtkLayout
GtkLayout — Бесконечная область прокрутки, содержащая дочерние виджеты и/или пользовательское рисование
Функции
| 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 () |
Типы и значения
| struct | GtkLayout |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkLayout
Реализованные интерфейсы
GtkLayout реализует AtkImplementorIface, GtkBuildable и GtkScrollable.
Включения
#include <gtk/gtk.h>
Описание
GtkLayout похож на GtkDrawingArea тем, что он является «чистым листом» и по умолчанию ничего не делает, кроме рисования пустого фона. Он отличается тем, что поддерживает прокрутку в родном виде (можно добавить его в GtkScrolledWindow), и он может содержать дочерние виджеты, поскольку это GtkContainer. Однако, если вам нужно только рисование, GtkDrawingArea — лучший выбор, так как он имеет меньшие накладные расходы.
При обработке событий expose в GtkLayout необходимо рисовать в GTK_LAYOUT (layout)->bin_window, а не в GTK_WIDGET (layout)->window, как для области рисования.
Функции
gtk_layout_new ()
GtkWidget * gtk_layout_new (GtkAdjustment *hadjustment,GtkAdjustment *vadjustment);
Создаёт новый GtkLayout. Если вам не нужен специальный механизм регулировки прокрутки, используйте NULL для hadjustment и vadjustment .
Параметры
Возвращаемое значение
новый GtkLayout
gtk_layout_put ()
void gtk_layout_put (GtkLayout *layout,GtkWidget *child_widget,gint x,gint y);
Добавляет child_widget в layout в позиции (x ,y ). layout становится новым контейнером-родителем для child_widget .
Параметры
layout | ||
child_widget | дочерний виджет | |
x | координата X дочернего виджета | |
y | координата Y дочернего виджета |
gtk_layout_move ()
void gtk_layout_move (GtkLayout *layout,GtkWidget *child_widget,gint x,gint y);
Перемещает текущего дочернего виджета layout в новую позицию.
Параметры
layout | ||
child_widget | текущий дочерний виджет | |
x | координата X для перемещения | |
y | координата Y для перемещения |
gtk_layout_set_size ()
void gtk_layout_set_size (GtkLayout *layout,guint width,guint height);
Устанавливает размер области прокрутки макета.
Параметры
layout | ||
width | ширина всей области прокрутки | |
height | высота всей области прокрутки |
gtk_layout_get_size ()
void gtk_layout_get_size (GtkLayout *layout,guint *width,guint *height);
Возвращает размер, установленный для макета, определяющий общие размеры области полос прокрутки. См. gtk_layout_set_size().
gtk_layout_get_hadjustment ()
GtkAdjustment *
gtk_layout_get_hadjustment (GtkLayout *layout); gtk_layout_get_hadjustment устарела начиная с версии 3.0 и не должна использоваться в новом коде.
Используйте gtk_scrollable_get_hadjustment()
Эта функция должна вызываться только после того, как макет был размещён в GtkScrolledWindow или настроен для прокрутки. Она возвращает GtkAdjustment, используемый для связи горизонтальной полосы прокрутки с layout .
См. GtkScrolledWindow, GtkScrollbar, GtkAdjustment для получения подробной информации.
Параметры
layout |
Возвращаемое значение
горизонтальная регулировка прокрутки.
[transfer none]
gtk_layout_get_vadjustment ()
GtkAdjustment *
gtk_layout_get_vadjustment (GtkLayout *layout); gtk_layout_get_vadjustment устарела начиная с версии 3.0 и не должна использоваться в новом коде.
Используйте gtk_scrollable_get_vadjustment()
Эта функция должна вызываться только после того, как макет был размещён в GtkScrolledWindow или настроен для прокрутки. Она возвращает GtkAdjustment, используемый для связи вертикальной полосы прокрутки с layout .
См. GtkScrolledWindow, GtkScrollbar, GtkAdjustment для получения подробной информации.
Параметры
layout |
Возвращаемое значение
вертикальная регулировка прокрутки.
[transfer none]
gtk_layout_set_hadjustment ()
void gtk_layout_set_hadjustment (GtkLayout *layout,GtkAdjustment *adjustment);
gtk_layout_set_hadjustment устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_scrollable_set_hadjustment()
Устанавливает горизонтальную полосу прокрутки для макета.
См. GtkScrolledWindow, GtkScrollbar, GtkAdjustment для получения подробностей.
Параметры
layout | ||
adjustment | новая полоса прокрутки. | [allow-none] |
gtk_layout_set_vadjustment ()
void gtk_layout_set_vadjustment (GtkLayout *layout,GtkAdjustment *adjustment);
gtk_layout_set_vadjustment устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_scrollable_set_vadjustment()
Устанавливает вертикальную полосу прокрутки для макета.
См. GtkScrolledWindow, GtkScrollbar, GtkAdjustment для получения подробностей.
Параметры
layout | ||
adjustment | новая полоса прокрутки. | [allow-none] |
Типы и значения
struct GtkLayout
struct GtkLayout;
Подробное описание свойств
Свойство “height”
“height” guint
Высота макета.
Флаги: Чтение / Запись
Допустимые значения: <= G_MAXINT
Значение по умолчанию: 100
Свойство “width”
“width” guint
Ширина макета.
Флаги: Чтение / Запись
Допустимые значения: <= G_MAXINT
Значение по умолчанию: 100
Подробное описание свойств дочерних элементов
Свойство “x” дочернего элемента
“x” gint
Положение X дочернего виджета.
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “y” дочернего элемента
“y” gint
Положение Y дочернего виджета.
Флаги: Чтение / Запись
Значение по умолчанию: 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.20/GtkLayout.html