GtkOffscreenWindow
GtkOffscreenWindow — Верхний уровень для управления рендерингом дочерних виджетов вне экрана
Функции
| GtkWidget * | gtk_offscreen_window_new () |
| cairo_surface_t * | gtk_offscreen_window_get_surface () |
| GdkPixbuf * | gtk_offscreen_window_get_pixbuf () |
Типы и значения
| struct | GtkOffscreenWindow |
| struct | GtkOffscreenWindowClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkWindow ╰── GtkOffscreenWindow
Реализованные интерфейсы
GtkOffscreenWindow реализует AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkOffscreenWindow предназначен для получения снимков виджетов, которые не являются частью обычной иерархии виджетов. Так как GtkOffscreenWindow является виджетом верхнего уровня, с его помощью нельзя получить снимки целого окна, так как в него нельзя упаковать виджет верхнего уровня.
Идея состоит в том, чтобы взять виджет, вручную установить его состояние, добавить его в GtkOffscreenWindow и затем извлечь снимок в виде cairo_surface_t или GdkPixbuf.
GtkOffscreenWindow наследуется от GtkWindow только как деталь реализации. Приложения не должны использовать какие-либо API, специфичные для GtkWindow, для работы с этим объектом. Его следует рассматривать как GtkBin, у которого нет родительского виджета.
При перерисовке виджетов, содержащихся вне экрана, GtkOffscreenWindow будет генерировать сигнал “damage-event”.
Функции
gtk_offscreen_window_new ()
GtkWidget *
gtk_offscreen_window_new (void); Создаёт виджет контейнер верхнего уровня, который используется для получения снимков виджетов без их отображения на экране.
Возвращает
Указатель на GtkWidget
С: 2.20
gtk_offscreen_window_get_surface ()
cairo_surface_t *
gtk_offscreen_window_get_surface (GtkOffscreenWindow *offscreen); Получает снимок содержимого виджета в виде cairo_surface_t. Если вам нужно сохранить его при изменении размеров окна, то вы должны добавить к нему ссылку.
Параметры
offscreen | содержащий виджет GtkOffscreenWindow. |
Возвращает
Указатель на cairo_surface_t на поверхность вне экрана или NULL.
[nullable][transfer none]
С: 2.20
gtk_offscreen_window_get_pixbuf ()
GdkPixbuf *
gtk_offscreen_window_get_pixbuf (GtkOffscreenWindow *offscreen); Получает снимок содержимого виджета в виде GdkPixbuf. Это новый pixbuf с количеством ссылок 1, и приложение должно снять ссылку, когда он больше не нужен.
Параметры
offscreen | содержащий виджет GtkOffscreenWindow. |
С: 2.20
Типы и значения
struct GtkOffscreenWindow
struct GtkOffscreenWindow;
struct GtkOffscreenWindowClass
struct GtkOffscreenWindowClass {
GtkWindowClass parent_class;
};
Члены
© 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/GtkOffscreenWindow.html