Spec-Zone.ru › GTK 4.0

GtkPicture

GtkPicture — Виджет для отображения GdkPaintable.

Функции

GtkWidget * gtk_picture_new ()
GtkWidget * gtk_picture_new_for_paintable ()
GtkWidget * gtk_picture_new_for_pixbuf ()
GtkWidget * gtk_picture_new_for_file ()
GtkWidget * gtk_picture_new_for_filename ()
GtkWidget * gtk_picture_new_for_resource ()
void gtk_picture_set_paintable ()
GdkPaintable * gtk_picture_get_paintable ()
void gtk_picture_set_pixbuf ()
void gtk_picture_set_file ()
GFile * gtk_picture_get_file ()
void gtk_picture_set_filename ()
void gtk_picture_set_resource ()
void gtk_picture_set_keep_aspect_ratio ()
gboolean gtk_picture_get_keep_aspect_ratio ()
void gtk_picture_set_can_shrink ()
gboolean gtk_picture_get_can_shrink ()
void gtk_picture_set_alternative_text ()
const char * gtk_picture_get_alternative_text ()

Свойства

char * alternative-text Чтение/Запись
gboolean can-shrink Чтение/Запись
GFile * file Чтение/Запись
gboolean keep-aspect-ratio Чтение/Запись
GdkPaintable * paintable Чтение/Запись

Типы и значения

GtkPicture

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPicture

Реализованные интерфейсы

GtkPicture реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

Файлы заголовков

#include <gtk/gtk.h>

Описание

Виджет GtkPicture отображает GdkPaintable. Предоставляются многочисленные удобные функции, упрощающие работу с изображениями. Например, для загрузки изображения из файла и его отображения есть удобная функция:

GtkWidget *widget;
widget = gtk_picture_new_for_filename ("myfile.png");

Если файл не загружен успешно, в изображении будет отображаться значок «разбитого изображения», подобный используемому во многих веб-браузерах. Если вы хотите обрабатывать ошибки при загрузке файла самостоятельно, например, отображая сообщение об ошибке, то загрузите изображение с помощью gdk_texture_new_from_file(), а затем создайте GtkPicture с помощью gtk_picture_new_for_paintable().

Иногда приложение не хочет зависеть от внешних файлов данных, таких как файлы изображений. Подробную информацию см. в документации GResource. В этом случае следует использовать gtk_picture_new_for_resource() и gtk_picture_set_resource().

GtkPicture отображает изображение в его естественном размере. См. GtkImage, если вы хотите отобразить изображение фиксированного размера, например, значок.

Изменение размера paintable

Вы можете повлиять на то, как paintable отображается внутри GtkPicture. Отключив “keep-aspect-ratio”, вы можете разрешить масштабирование paintable. “can-shrink” можно отключить, чтобы убедиться, что paintable никогда не станет меньше своего идеального размера — но будьте осторожны, если вы не знаете размер используемого paintable (например, при отображении загруженных пользователем изображений). Это может легко привести к увеличению размера изображения по сравнению с экраном. А “halign” и “valign” можно использовать, чтобы убедиться, что paintable не заполняет всё доступное пространство, а вместо этого отображается в исходном размере.

Узлы CSS

GtkPicture имеет единственный узел CSS с именем picture.

Доступность

GtkPicture использует роль GTK_ACCESSIBLE_ROLE_IMG.

Функции

gtk_picture_new ()

GtkWidget *
gtk_picture_new (void);

Создаёт новый пустой виджет GtkPicture.

Возвращает

новый созданный виджет GtkPicture.

gtk_picture_new_for_paintable ()

GtkWidget *
gtk_picture_new_for_paintable (GdkPaintable *paintable);

Создаёт новый GtkPicture, отображающий paintable .

GtkWidget GtkPicture будет отслеживать изменения paintable и обновлять свой размер и содержимое в ответ на них.

Параметры

paintable

a GdkPaintable, или NULL.

[nullable]

Возвращает

новый GtkPicture

gtk_picture_new_for_pixbuf ()

GtkWidget *
gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf);

Создаёт новый GtkPicture, отображающий pixbuf .

Это вспомогательная функция, которая вызывает gtk_picture_new_for_paintable(). Подробнее см. в этой функции.

После передачи pixbuf в эту функцию он не должен изменяться.

Параметры

pixbuf

a GdkPixbuf, или NULL.

[nullable]

Возвращает

новый GtkPicture

gtk_picture_new_for_file ()

GtkWidget *
gtk_picture_new_for_file (GFile *file);

Создаёт новый GtkPicture, отображающий указанный file . Если файл не найден или не может быть загружен, полученный GtkPicture будет пустым.

Если вам нужно обнаружить ошибки загрузки файла, используйте gdk_texture_new_from_file() для самостоятельной загрузки файла, а затем создайте GtkPicture из текстуры.

Параметры

file

a GFile.

[nullable]

Возвращает

новый GtkPicture

gtk_picture_new_for_filename ()

GtkWidget *
gtk_picture_new_for_filename (const char *filename);

Создаёт новый GtkPicture, отображающий файл filename .

Это вспомогательная функция, которая вызывает gtk_picture_new_for_file(). Подробнее см. в этой функции.

Параметры

filename

имя файла.

[type filename][nullable]

Возвращает

новый GtkPicture

gtk_picture_new_for_resource ()

GtkWidget *
gtk_picture_new_for_resource (const char *resource_path);

Создаёт новый GtkPicture, отображающий ресурс по адресу resource_path .

Это вспомогательная функция, которая вызывает gtk_picture_new_for_file(). Подробнее см. в этой функции.

Параметры

resource_path

путь к ресурсу для воспроизведения.

[nullable]

Возвращает

новый GtkPicture

gtk_picture_set_paintable ()

void
gtk_picture_set_paintable (GtkPicture *self,
                           GdkPaintable *paintable);

Заставляет self отображать заданный paintable . Если paintable равен NULL, ничего не будет отображаться.

Подробнее см. gtk_picture_new_for_paintable().

Параметры

self

a GtkPicture

paintable

a GdkPaintable или NULL.

[nullable]

gtk_picture_get_paintable ()

GdkPaintable *
gtk_picture_get_paintable (GtkPicture *self);

Получает GdkPaintable, отображаемый GtkPicture.

Параметры

self

a GtkPicture

Возвращает

отображаемый paintable, или NULL если изображение пустое.

[nullable][transfer none]

gtk_picture_set_pixbuf ()

void
gtk_picture_set_pixbuf (GtkPicture *self,
                        GdkPixbuf *pixbuf);

Подробнее см. gtk_picture_new_for_pixbuf().

Это вспомогательная функция, которая вызывает gtk_picture_set_paintable(),

Параметры

self

a GtkPicture

pixbuf

a GdkPixbuf или NULL.

[nullable]

gtk_picture_set_file ()

void
gtk_picture_set_file (GtkPicture *self,
                      GFile *file);

Заставляет self загрузить и отобразить file .

Подробнее см. gtk_picture_new_for_file().

Параметры

self

a GtkPicture

file

a GFile или NULL.

[nullable]

gtk_picture_get_file ()

GFile *
gtk_picture_get_file (GtkPicture *self);

Получает GFile, отображаемый в данный момент, если self отображает файл. Если self не отображает файл, например, когда использовалась gtk_picture_set_paintable(), то возвращается NULL.

Параметры

self

объект GtkPicture

Возвращает

GFile отображаемый self .

[nullable][transfer none]

gtk_picture_set_filename ()

void
gtk_picture_set_filename (GtkPicture *self,
                          const char *filename);

Заставляет self загрузить и отобразить заданный filename .

Это вспомогательная функция, которая вызывает gtk_picture_set_file().

Параметры

self

объект GtkPicture

filename

имя файла для загрузки.

[nullable]

gtk_picture_set_resource ()

void
gtk_picture_set_resource (GtkPicture *self,
                          const char *resource_path);

Заставляет self загрузить и отобразить ресурс по заданному resource_path .

Это вспомогательная функция, которая вызывает gtk_picture_set_file().

Параметры

self

объект GtkPicture

resource_path

путь к ресурсу.

[nullable]

gtk_picture_set_keep_aspect_ratio ()

void
gtk_picture_set_keep_aspect_ratio (GtkPicture *self,
                                   gboolean keep_aspect_ratio);

Если установлено TRUE, self будет отрисовывать содержимое в соответствии с его соотношением сторон. Это означает, что пустое пространство может отображаться вверху/внизу или слева/справа от self .

Если установлено FALSE или если содержимое не предоставляет соотношение сторон, содержимое будет растянуто по всей области изображения.

Параметры

self

объект GtkPicture

keep_aspect_ratio

сохранять соотношение сторон

gtk_picture_get_keep_aspect_ratio ()

gboolean
gtk_picture_get_keep_aspect_ratio (GtkPicture *self);

Получает значение, установленное с помощью gtk_picture_set_keep_aspect_ratio().

Параметры

self

объект GtkPicture

Возвращает

TRUE если self пытается сохранить соотношение сторон содержимого

gtk_picture_set_can_shrink ()

void
gtk_picture_set_can_shrink (GtkPicture *self,
                            gboolean can_shrink);

Если установлено TRUE, self может быть меньше, чем его содержимое. Содержимое будет уменьшено при рендеринге.

Если вы хотите принудительно установить минимальный размер, используйте gtk_widget_set_size_request().

Обратите внимание, что аналогичная функция для увеличения не существует, поскольку поведение роста может контролироваться с помощью gtk_widget_set_halign() и gtk_widget_set_valign().

Параметры

self

объект GtkPicture

can_shrink

если self может быть меньше, чем его содержимое

gtk_picture_get_can_shrink ()

gboolean
gtk_picture_get_can_shrink (GtkPicture *self);

Получает значение, установленное с помощью gtk_picture_set_can_shrink().

Параметры

self

объект GtkPicture

Возвращает

TRUE если изображение может быть меньше, чем его содержимое

gtk_picture_set_alternative_text ()

void
gtk_picture_set_alternative_text (GtkPicture *self,
                                  const char *alternative_text);

Устанавливает альтернативное текстовое описание содержимого изображения. Эквивалентно атрибуту «alt» для изображений на веб-сайтах.

Этот текст будет доступен для средств обеспечения доступности.

Если изображение невозможно описать текстом, установите это свойство в NULL.

Параметры

self

объект GtkPicture

alternative_text

текстовое описание содержимого.

[nullable]

gtk_picture_get_alternative_text ()

const char *
gtk_picture_get_alternative_text (GtkPicture *self);

Получает альтернативное текстовое описание изображения или возвращает NULL , если изображение невозможно описать текстом.

Параметры

self

объект GtkPicture

Возвращает

альтернативное текстовое описание self .

[nullable][transfer none]

Типы и значения

GtkPicture

typedef struct _GtkPicture GtkPicture;

Подробное описание свойств

Свойство “alternative-text”

  “alternative-text”         char *

Альтернативное текстовое описание изображения.

Владелец: GtkPicture

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Свойство “can-shrink”

  “can-shrink”               gboolean

Если GtkPicture может быть меньше, чем содержащийся в нём элемент.

Владелец: GtkPicture

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “file”

  “file”                     GFile *

GFile , который отображается, или NULL если нет.

Владелец: GtkPicture

Флаги: Чтение / Запись

Свойство “keep-aspect-ratio”

  “keep-aspect-ratio”        gboolean

Определяет, будет ли GtkPicture пытаться сохранить соотношение сторон содержимого при отрисовке.

Владелец: GtkPicture

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “paintable”

  “paintable”                GdkPaintable *

GdkPaintable для отображения этим GtkPicture.

Владелец: GtkPicture

Флаги: Чтение / Запись

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkPicture.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API