GtkIconTheme
GtkIconTheme — Поиск значков по имени
Функции
| cairo_surface_t * | gtk_icon_info_load_surface () |
| void | gtk_icon_info_load_icon_async () |
| GdkPixbuf * | gtk_icon_info_load_icon_finish () |
| GdkPixbuf * | gtk_icon_info_load_symbolic () |
| void | gtk_icon_info_load_symbolic_async () |
| GdkPixbuf * | gtk_icon_info_load_symbolic_finish () |
| GdkPixbuf * | gtk_icon_info_load_symbolic_for_style () |
| GdkPixbuf * | gtk_icon_info_load_symbolic_for_context () |
| void | gtk_icon_info_load_symbolic_for_context_async () |
| GdkPixbuf * | gtk_icon_info_load_symbolic_for_context_finish () |
| void | gtk_icon_info_set_raw_coordinates () |
| gboolean | gtk_icon_info_get_embedded_rect () |
| gboolean | gtk_icon_info_get_attach_points () |
| const gchar * | gtk_icon_info_get_display_name () |
| gboolean | gtk_icon_info_is_symbolic () |
Типы и значения
| GtkIconInfo | |
| struct | GtkIconTheme |
| struct | GtkIconThemeClass |
| перечисление | GtkIconLookupFlags |
| #define | GTK_ICON_THEME_ERROR |
| перечисление | GtkIconThemeError |
Иерархия объектов
GObject ╰── GtkIconTheme
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkIconTheme предоставляет возможность поиска значков по имени и размеру. Основная причина использования имени вместо простого указания имени файла заключается в возможности использования различных значков в зависимости от того, какая «тема значков» выбрана пользователем. Работа тем значков в Linux и Unix следует Спецификации темы значков. Существует тема значков по умолчанию, названная hicolor, где приложения должны устанавливать свои значки, но дополнительные темы значков могут быть установлены поставщиками операционной системы и пользователями по своему выбору.
Имена значков аналогичны устаревшим элементам Stock, и различие между ними может быть несколько запутанным. Вот несколько моментов, которые следует иметь в виду:
Изображения Stock обычно используются в сочетании с элементами Stock, такими как
GTK_STOCK_OKилиGTK_STOCK_OPEN. Имена значков проще настроить и поэтому более полезны для новых значков, которые приложение хочет добавить, таких как значки приложений или значки окон.Изображения Stock могут загружаться только в размерах, определённых перечислением GtkIconSize, или пользовательских размерах, определённых
gtk_icon_size_register(), в то время как имена значков более гибкие и любой размер пикселей можно указать.Поскольку изображения Stock тесно связаны с элементами Stock и, следовательно, с действиями в пользовательском интерфейсе, изображения Stock могут иметь несколько вариантов для различных состояний виджетов или направлений письма.
Хорошее правило — если для нужного вам изображения существует изображение Stock, используйте его, в противном случае используйте имя значка. Оказывается, что внутренне изображения Stock обычно определяются в терминах одного или нескольких имён значков. (Пример более чем одного случая — значки, зависящие от направления письма; GTK_STOCK_GO_FORWARD использует две тематические значки «gtk-stock-go-forward-ltr» и «gtk-stock-go-forward-rtl».)
Во многих случаях тематические значки используются косвенно через GtkImage или элементы Stock, а не напрямую, но поиск значков напрямую тоже прост. Объект GtkIconTheme действует как база данных всех значков в текущей теме. Вы можете создавать новые объекты GtkIconTheme, но намного эффективнее использовать стандартную тему значков для GdkScreen, чтобы информация о значке использовалась совместно с другими людьми, которые ищут значки.
GError *error = NULL; GtkIconTheme *icon_theme; GdkPixbuf *pixbuf; icon_theme = gtk_icon_theme_get_default (); pixbuf = gtk_icon_theme_load_icon (icon_theme, "my-icon-name", // icon name 48, // icon size 0, // flags &error); if (!pixbuf) { g_warning ("Couldn’t load icon: %s", error->message); g_error_free (error); } else { // Use the pixbuf g_object_unref (pixbuf); }
Функции
gtk_icon_theme_new ()
GtkIconTheme *
gtk_icon_theme_new (void); Создаёт новый объект темы значков. Объекты темы значков используются для поиска значка по имени в конкретной теме значков. Обычно вам следует использовать gtk_icon_theme_get_default() или gtk_icon_theme_get_for_screen(), а не создавать новый объект темы значков для временного использования.
Возвращает
новый созданный объект GtkIconTheme.
С версии: 2.4
gtk_icon_theme_get_default ()
GtkIconTheme *
gtk_icon_theme_get_default (void); Получает тему значков для основного экрана. См. gtk_icon_theme_get_for_screen().
Возвращает
Уникальный объект GtkIconTheme, связанный с основным экраном. Эта тема значков связана с экраном и может использоваться, пока экран открыт. Не нужно ссылаться или освобождать его.
[transfer none]
С версии: 2.4
gtk_icon_theme_get_for_screen ()
GtkIconTheme *
gtk_icon_theme_get_for_screen (GdkScreen *screen); Получает объект темы значков, связанный с screen; если для данного экрана эта функция ещё не вызывалась, будет создан новый объект темы значков и связан с экраном. Создание объектов тем значков довольно ресурсоёмко, поэтому использование этой функции обычно предпочтительнее, чем вызов gtk_icon_theme_new() и самостоятельное задание экрана; с помощью этой функции один объект темы значков будет общим для всех пользователей.
Параметры
экран | объект GdkScreen |
Возвращает
Уникальный объект GtkIconTheme, связанный с заданным экраном. Эта тема значков связана с экраном и может использоваться, пока экран открыт. Не нужно ссылаться или освобождать его.
[transfer none]
С версии: 2.4
gtk_icon_theme_set_screen ()
void gtk_icon_theme_set_screen (GtkIconTheme *icon_theme,GdkScreen *screen);
Устанавливает экран для темы значков; экран используется для отслеживания текущей конфигурации темы значков пользователя, которая может отличаться для разных экранов.
Параметры
тема_значков | объект GtkIconTheme | |
экран | объект GdkScreen |
С версии: 2.4
gtk_icon_theme_set_search_path ()
void gtk_icon_theme_set_search_path (GtkIconTheme *icon_theme,const gchar *path[],gint n_elements);
Устанавливает путь поиска для объекта темы значков. При поиске темы значков GTK+ будет искать подкаталог одного или нескольких каталогов в path с тем же именем, что и тема значков, содержащий файл index.theme. (Темы из нескольких элементов пути объединяются, чтобы позволить расширять темы, добавляя значки в домашний каталог пользователя.)
Кроме того, если значок не найден ни в текущей теме значков, ни в стандартной теме значков, и файл изображения с соответствующим именем найден непосредственно в одном из элементов path, то это изображение будет использоваться для имени значка. (Это устаревшая функция, и новые значки следует помещать в резервную тему значков, которая называется hicolor, а не непосредственно в путь значков.)
Параметры
тема_значков | объект GtkIconTheme | |
путь | массив каталогов, в которых ищутся темы значков. | [array длина=n_элементов][element-type имя_файла] |
n_элементов | количество элементов в |
С версии: 2.4
gtk_icon_theme_get_search_path ()
void gtk_icon_theme_get_search_path (GtkIconTheme *icon_theme,gchar **path[],gint *n_elements);
Получает текущий путь поиска. См. gtk_icon_theme_set_search_path().
Параметры
тема_значков | объект GtkIconTheme | |
путь | место для хранения списка каталогов пути к темам значков или | [allow-none][array длина=n_элементов][element-type имя_файла][out] |
n_элементов | место для хранения количества элементов в |
С версии: 2.4
gtk_icon_theme_append_search_path ()
void gtk_icon_theme_append_search_path (GtkIconTheme *icon_theme,const gchar *path);
Добавляет каталог к пути поиска. См. gtk_icon_theme_set_search_path().
Параметры
тема_значков | объект GtkIconTheme | |
путь | имя каталога для добавления в путь к значкам. | [type имя_файла] |
С версии: 2.4
gtk_icon_theme_prepend_search_path ()
void gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme,const gchar *path);
Добавляет каталог в начало пути поиска. См. gtk_icon_theme_set_search_path().
Параметры
тема_значков | объект GtkIconTheme | |
путь | имя каталога для добавления в начало пути к значкам. | [type имя_файла] |
С версии: 2.4
gtk_icon_theme_add_resource_path ()
void gtk_icon_theme_add_resource_path (GtkIconTheme *icon_theme,const gchar *path);
Добавляет путь к ресурсам, который будет проверяться при поиске иконок, подобно путям поиска.
Эта функция должна использоваться для доступности прикладных иконок в рамках темы иконок.
Ресурсы рассматриваются как часть темы иконок hicolor и должны располагаться в подкаталогах, определенных в теме иконок hicolor, таких как @path/16x16/actions/run.png. Иконки, размещённые непосредственно в пути к ресурсам, а не в подкаталогах, также рассматриваются как окончательный резервный вариант.
Параметры
icon_theme | ||
path | путь к ресурсу |
С: 3.14
gtk_icon_theme_set_custom_theme ()
void gtk_icon_theme_set_custom_theme (GtkIconTheme *icon_theme,const gchar *theme_name);
Устанавливает имя темы иконок, используемой объектом GtkIconTheme, перезаписывая системную конфигурацию. Эту функцию нельзя вызывать для объектов темы иконок, возвращаемых gtk_icon_theme_get_default() и gtk_icon_theme_get_for_screen().
Параметры
icon_theme | ||
theme_name | имя темы иконок для использования вместо настроенной темы, или | [allow-none] |
С: 2.4
gtk_icon_theme_has-icon ()
gboolean gtk_icon_theme_has_icon (GtkIconTheme *icon_theme,const gchar *icon_name);
Проверяет, содержит ли тема иконок иконку с указанным именем.
Параметры
icon_theme | ||
icon_name | имя иконки |
Возвращает
TRUE, если icon_theme содержит иконку для icon_name.
С: 2.4
gtk_icon_theme_lookup-icon ()
GtkIconInfo * gtk_icon_theme_lookup_icon (GtkIconTheme *icon_theme,const gchar *icon_name,gint size,GtkIconLookupFlags flags);
Ищет иконку по имени и возвращает GtkIconInfo , содержащую информацию, такую как имя файла иконки. Затем иконку можно отобразить в pixbuf с помощью gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() объединяет эти два шага, если вам нужен только pixbuf.)
При отображении на дисплеях с высокой плотностью пикселей не следует использовать size, умноженное на коэффициент масштабирования, возвращаемый функциями, такими как gdk_window_get_scale_factor(). Вместо этого следует использовать gtk_icon_theme_lookup_icon_for_scale(), так как ресурсы, загруженные для данного коэффициента масштабирования, могут быть другими.
Параметры
icon_theme | ||
icon_name | имя иконки для поиска | |
size | желаемый размер иконки | |
flags | флаги, изменяющие поведение поиска иконок |
Возвращает
объект GtkIconInfo , содержащий информацию об иконке, или NULL , если иконка не найдена.
[nullable][transfer full]
С: 2.4
gtk_icon_theme_lookup_icon_for-scale ()
GtkIconInfo * gtk_icon_theme_lookup_icon_for_scale (GtkIconTheme *icon_theme,const gchar *icon_name,gint size,gint scale,GtkIconLookupFlags flags);
Ищет иконку по имени для определённого масштаба окна и возвращает GtkIconInfo , содержащую информацию, такую как имя файла иконки. Затем иконку можно отобразить в pixbuf с помощью gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() объединяет эти два шага, если вам нужен только pixbuf.)
Параметры
icon_theme | ||
icon_name | имя иконки для поиска | |
size | желаемый размер иконки | |
scale | желаемый масштаб | |
flags | флаги, изменяющие поведение поиска иконок |
Возвращает
объект GtkIconInfo , содержащий информацию об иконке, или NULL , если иконка не найдена.
[nullable][transfer full]
С: 3.10
gtk_icon_theme_choose_icon ()
GtkIconInfo * gtk_icon_theme_choose_icon (GtkIconTheme *icon_theme,const gchar *icon_names[],gint size,GtkIconLookupFlags flags);
Ищет значок по имени и возвращает GtkIconInfo, содержащий информацию, такую как имя файла значка. Затем значок можно отобразить в pixbuf с помощью gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() объединяет эти два шага, если вам нужен только pixbuf.)
Если icon_names содержит более одного имени, эта функция пытается найти их все в заданном порядке, прежде чем перейти к унаследованным темам значков.
Параметры
icon_theme | ||
icon_names | | [array zero-terminated=1] |
size | желаемый размер значка | |
flags | флаги, изменяющие поведение поиска значка |
Возвращает
a GtkIconInfo объект, содержащий информацию о значке, или NULL, если значок не найден.
[nullable][transfer full]
Since: 2.12
gtk_icon_theme_choose_icon_for_scale ()
GtkIconInfo * gtk_icon_theme_choose_icon_for_scale (GtkIconTheme *icon_theme,const gchar *icon_names[],gint size,gint scale,GtkIconLookupFlags flags);
Ищет значок по имени для определённого масштаба окна и возвращает GtkIconInfo, содержащий информацию, такую как имя файла значка. Затем значок можно отобразить в pixbuf с помощью gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() объединяет эти два шага, если вам нужен только pixbuf.)
Если icon_names содержит более одного имени, эта функция пытается найти их все в заданном порядке, прежде чем перейти к унаследованным темам значков.
Параметры
icon_theme | ||
icon_names | | [array zero-terminated=1] |
size | желаемый размер значка | |
scale | желаемый масштаб | |
flags | флаги, изменяющие поведение поиска значка |
Возвращает
a GtkIconInfo объект, содержащий информацию о значке, или NULL, если значок не найден.
[nullable][transfer full]
Since: 3.10
gtk_icon_theme_lookup_by_gicon ()
GtkIconInfo * gtk_icon_theme_lookup_by_gicon (GtkIconTheme *icon_theme,GIcon *icon,gint size,GtkIconLookupFlags flags);
Ищет значок и возвращает GtkIconInfo, содержащий информацию, такую как имя файла значка. Затем значок можно отобразить в pixbuf с помощью gtk_icon_info_load_icon().
При отрисовке на дисплеях с высокой плотностью пикселей не следует использовать size, умноженный на коэффициент масштабирования, возвращаемый такими функциями, как gdk_window_get_scale_factor(). Вместо этого следует использовать gtk_icon_theme_lookup_by_gicon_for_scale(), так как загруженные ресурсы для заданного коэффициента масштабирования могут отличаться.
Параметры
icon_theme | ||
icon | the GIcon для поиска | |
size | желаемый размер значка | |
flags | флаги, изменяющие поведение поиска значка |
Возвращает
a GtkIconInfo содержащий информацию о значке, или NULL, если значок не найден. Освободить с помощью g_object_unref().
[nullable][transfer full]
Since: 2.14
gtk_icon_theme_lookup_by_gicon_for_scale ()
GtkIconInfo * gtk_icon_theme_lookup_by_gicon_for_scale (GtkIconTheme *icon_theme,GIcon *icon,gint size,gint scale,GtkIconLookupFlags flags);
Ищет значок и возвращает GtkIconInfo, содержащий информацию, такую как имя файла значка. Затем значок можно отобразить в pixbuf с помощью gtk_icon_info_load_icon().
Параметры
icon_theme | ||
icon | the GIcon для поиска | |
size | желаемый размер значка | |
scale | желаемый масштаб | |
flags | флаги, изменяющие поведение поиска значка |
Возвращает
a GtkIconInfo содержащий информацию о значке, или NULL, если значок не найден. Освободить с помощью g_object_unref().
[nullable][transfer full]
Since: 3.10
gtk_icon_theme_load_icon ()
GdkPixbuf * gtk_icon_theme_load_icon (GtkIconTheme *icon_theme,const gchar *icon_name,gint size,GtkIconLookupFlags flags,GError **error);
Ищет значок в теме значков, масштабирует его до заданного размера и отрисовывает его в pixbuf. Это удобная функция; если требуются дополнительные данные о значке, используйте gtk_icon_theme_lookup_icon(), за которым следует gtk_icon_info_load_icon().
Обратите внимание, что вам, вероятно, нужно будет прослушивать изменения темы значков и обновлять значок. Обычно это делается путём подключения к сигналу GtkWidget::style-set. Если по какой-то причине вы не хотите обновлять значок при изменении темы значков, вы должны рассмотреть возможность использования gdk_pixbuf_copy() для создания собственной копии pixbuf, возвращаемого этой функцией. В противном случае GTK+ может потребоваться сохранить загруженную старую тему значков, что будет тратой памяти.
Параметры
icon_theme | ||
icon_name | имя значка для поиска | |
size | желаемый размер значка. Результирующий значок может быть не ровно такого размера; см. | |
flags | флаги, изменяющие поведение поиска значка | |
error | Место для хранения информации об ошибке при неудаче, или | [allow-none] |
Возвращаемое значение
отрисованный значок; это может быть новый созданный значок или новая ссылка на внутренний значок, поэтому вы не должны изменять значок. Используйте g_object_unref() для освобождения вашей ссылки на значок. NULL, если значок не найден.
[nullable][transfer full]
Since: 2.4
gtk_icon_theme_load_icon_for_scale ()
GdkPixbuf * gtk_icon_theme_load_icon_for_scale (GtkIconTheme *icon_theme,const gchar *icon_name,gint size,gint scale,GtkIconLookupFlags flags,GError **error);
Ищет значок в теме значков для определённого масштаба окна, масштабирует его до заданного размера и отрисовывает его в pixbuf. Это удобная функция; если требуются дополнительные данные о значке, используйте gtk_icon_theme_lookup_icon(), за которым следует gtk_icon_info_load_icon().
Обратите внимание, что вам, вероятно, нужно будет прослушивать изменения темы значков и обновлять значок. Обычно это делается путём подключения к сигналу GtkWidget::style-set. Если по какой-то причине вы не хотите обновлять значок при изменении темы значков, вы должны рассмотреть возможность использования gdk_pixbuf_copy() для создания собственной копии pixbuf, возвращаемого этой функцией. В противном случае GTK+ может потребоваться сохранить загруженную старую тему значков, что будет тратой памяти.
Параметры
icon_theme | ||
icon_name | имя значка для поиска | |
size | желаемый размер значка. Результирующий значок может быть не ровно такого размера; см. | |
scale | желаемый масштаб | |
flags | флаги, изменяющие поведение поиска значка | |
error | Место для хранения информации об ошибке при неудаче, или | [allow-none] |
Возвращаемое значение
отрисованный значок; это может быть новый созданный значок или новая ссылка на внутренний значок, поэтому вы не должны изменять значок. Используйте g_object_unref() для освобождения вашей ссылки на значок. NULL, если значок не найден.
[nullable][transfer full]
Since: 3.10
gtk_icon_theme_load_surface ()
cairo_surface_t * gtk_icon_theme_load_surface (GtkIconTheme *icon_theme,const gchar *icon_name,gint size,gint scale,GdkWindow *for_window,GtkIconLookupFlags flags,GError **error);
Ищет значок в теме значков для определённого масштаба окна, масштабирует его до заданного размера и отрисовывает его в cairo поверхность. Это удобная функция; если требуются дополнительные данные о значке, используйте gtk_icon_theme_lookup_icon(), за которым следует gtk_icon_info_load_surface().
Обратите внимание, что вам, вероятно, нужно будет прослушивать изменения темы значков и обновлять значок. Обычно это делается путём подключения к сигналу GtkWidget::style-set.
Параметры
icon_theme | ||
icon_name | имя значка для поиска | |
size | желаемый размер значка. Результирующий значок может быть не ровно такого размера; см. | |
scale | желаемый масштаб | |
for_window | [allow-none] | |
flags | флаги, изменяющие поведение поиска значка | |
error | Место для хранения информации об ошибке при неудаче, или | [allow-none] |
Возвращаемое значение
отрисованный значок; это может быть новый созданный значок или новая ссылка на внутренний значок, поэтому вы не должны изменять значок. Используйте cairo_surface_destroy() для освобождения вашей ссылки на значок. NULL, если значок не найден.
[nullable][transfer full]
Since: 3.10
gtk_icon_theme_list_contexts ()
GList *
gtk_icon_theme_list_contexts (GtkIconTheme *icon_theme); Получает список контекстов, доступных в текущей иерархии тем значков. Подробности о контекстах см. в gtk_icon_theme_list_icons().
Параметры
icon_theme |
Возвращает
Список GList имён всех контекстов в теме. Сначала необходимо освободить каждый элемент списка с помощью g_free(), а затем сам список — с помощью g_list_free().
[element-type utf8][transfer full]
Since: 2.12
gtk_icon_theme_list_icons ()
GList * gtk_icon_theme_list_icons (GtkIconTheme *icon_theme,const gchar *context);
Выводит список значков в текущей теме значков. Можно вывести только подмножество значков, указав строку контекста. Набор значений для строки контекста зависит от системы, но обычно включает такие значения, как «Applications» и «MimeTypes». Контексты объясняются в Спецификации темы значков. Стандартные контексты перечислены в Спецификации именования значков. См. также gtk_icon_theme_list_contexts().
Параметры
icon_theme | ||
context | строка, определяющая определённый тип значка, или | [allow-none] |
Возвращает
Список GList имён всех значков в теме. Сначала необходимо освободить каждый элемент списка с помощью g_free(), а затем сам список — с помощью g_list_free().
[element-type utf8][transfer full]
Since: 2.4
gtk_icon_theme_get_icon_sizes ()
gint * gtk_icon_theme_get_icon_sizes (GtkIconTheme *icon_theme,const gchar *icon_name);
Возвращает массив целых чисел, описывающих размеры, в которых значок доступен без масштабирования. Размер -1 означает, что значок доступен в масштабируемом формате. Массив завершается нулём.
Параметры
icon_theme | ||
icon_name | имя значка |
Возвращает
Новый выделенный массив, описывающий размеры, в которых доступен значок. Массив следует освободить с помощью g_free(), когда он больше не нужен.
[array zero-terminated=1][transfer full]
Since: 2.6
gtk_icon_theme_get_example_icon_name ()
char *
gtk_icon_theme_get_example_icon_name (GtkIconTheme *icon_theme); Получает имя значка, представляющего текущую тему (например, для отображения списка тем пользователю.)
Параметры
icon_theme |
Since: 2.4
gtk_icon_theme_rescan_if_needed ()
gboolean
gtk_icon_theme_rescan_if_needed (GtkIconTheme *icon_theme); Проверяет, изменилась ли тема значков; если изменилась, вся кэшированная информация удаляется и будет перезагружена при следующем обращении к icon_theme.
Параметры
icon_theme |
Возвращает
TRUE, если тема значков изменилась и требуется её перезагрузка.
Since: 2.4
gtk_icon_theme_add_builtin_icon ()
void gtk_icon_theme_add_builtin_icon (const gchar *icon_name,gint size,GdkPixbuf *pixbuf);
gtk_icon_theme_add_builtin_icon устарело начиная с версии 3.14 и не должно использоваться в новом коде.
Для добавления значков, специфичных для приложения, в тему значков, используйте gtk_icon_theme_add_resource_path().
Регистрирует встроенный значок для поиска в теме значков. Встроенные значки позволяют приложению или библиотеке, использующей значки с темой, работать, требуя наличия файлов в файловой системе. Например, изображения по умолчанию для всех стандартных значков GTK+ регистрируются как встроенные значки.
Если вы используете gtk_icon_theme_add_builtin_icon(), вам обычно следует установить значок в теме значков, чтобы он был общедоступен.
Данная функция обычно используется с загруженными с помощью gdk_pixbuf_new_from_inline() pixbuf.
Параметры
icon_name | имя значка для регистрации | |
size | размер в пикселях, в котором регистрируется значок (для одного и того же имени значка могут быть зарегистрированы разные изображения с разными размерами). | |
pixbuf | GdkPixbuf, содержащий изображение, используемое для |
Since: 2.4
gtk_icon_info_copy ()
GtkIconInfo *
gtk_icon_info_copy (GtkIconInfo *icon_info); gtk_icon_info_copy устарела начиная с версии 3.8 и не должна использоваться в новом коде.
Используйте g_object_ref()
Создаёт копию GtkIconInfo.
[skip]
Параметры
icon_info |
Возвращает
новый GtkIconInfo.
[transfer full]
Since: 2.4
gtk_icon_info_free ()
void
gtk_icon_info_free (GtkIconInfo *icon_info); gtk_icon_info_free устарело с версии 3.8 и не должно использоваться в новом коде.
Используйте g_object_unref()
Освобождает GtkIconInfo и связанную с ним информацию
[skip]
Параметры
icon_info |
С: 2.4
gtk_icon_info_new_for_pixbuf ()
GtkIconInfo * gtk_icon_info_new_for_pixbuf (GtkIconTheme *icon_theme,GdkPixbuf *pixbuf);
Создаёт GtkIconInfo для GdkPixbuf.
Параметры
icon_theme | ||
pixbuf | the pixbuf to wrap in a GtkIconInfo |
С: 2.14
gtk_icon_info_get_base_size ()
gint
gtk_icon_info_get_base_size (GtkIconInfo *icon_info); Получает базовый размер значка. Базовый размер — это размер значка, указанный создателем темы значков. Он может отличаться от фактического размера изображения; пример — небольшие значки эмблем, которые могут быть прикреплены к более крупному значку. Эти значки получат тот же базовый размер, что и более крупные значки, к которым они прикреплены.
Обратите внимание, что для масштабируемых значков базовый размер не включает базовый масштаб.
Параметры
icon_info |
Возвращает
базовый размер или 0, если для значка неизвестен базовый размер.
С: 2.4
gtk_icon_info_get_base_scale ()
gint
gtk_icon_info_get_base_scale (GtkIconInfo *icon_info); Получает базовый масштаб значка. Базовый масштаб — это масштаб значка, указанный создателем темы значков. Например, значок, нарисованный для экрана с высокой плотностью пикселей с масштабом окна 2 для базового размера 32, будет иметь высоту 64 пикселя и базовый масштаб 2.
Параметры
icon_info |
Возвращает
базовый масштаб
С: 3.10
gtk_icon_info_get_filename ()
const gchar *
gtk_icon_info_get_filename (GtkIconInfo *icon_info); Получает имя файла значка. Если флаг GTK_ICON_LOOKUP_USE_BUILTIN был передан в gtk_icon_theme_lookup_icon(), при возвращении встроенного значка имя файла может отсутствовать; в этом случае используйте gtk_icon_info_get_builtin_pixbuf().
Параметры
icon_info |
Возвращает
имя файла значка или NULL, если следует использовать gtk_icon_info_get_builtin_pixbuf(). Значение возврата принадлежит GTK+ и не должно изменяться или освобождаться.
[nullable][type filename]
С: 2.4
gtk_icon_info_get_builtin_pixbuf ()
GdkPixbuf *
gtk_icon_info_get_builtin_pixbuf (GtkIconInfo *icon_info); gtk_icon_info_get_builtin_pixbuf устарело с версии 3.14 и не должно использоваться в новом коде.
Эта функция устарела, используйте gtk_icon_theme_add_resource_path() вместо встроенных значков.
Получает встроенное изображение для этого значка, если оно есть. Чтобы позволить GTK+ использовать встроенные изображения значков, необходимо передать GTK_ICON_LOOKUP_USE_BUILTIN в gtk_icon_theme_lookup_icon().
Параметры
icon_info |
Возвращает
встроенное изображение pixbuf или NULL. Дополнительная ссылка на возвращаемый pixbuf не добавляется, поэтому, если вы хотите сохранить его, вы должны использовать g_object_ref(). Возвращаемое изображение не должно изменяться.
[nullable][transfer none]
С: 2.4
gtk_icon_info_load_icon ()
GdkPixbuf * gtk_icon_info_load_icon (GtkIconInfo *icon_info,GError **error);
Отображает значок, ранее найденный в теме значков с помощью gtk_icon_theme_lookup_icon(); размер будет основан на размере, переданном в gtk_icon_theme_lookup_icon(). Обратите внимание, что полученный pixbuf может не совпадать с этим размером; тема значков может содержать значки, незначительно отличающиеся от своих номинальных размеров, и дополнительно GTK+ избежит масштабирования значков, которые он считает достаточно близкими к запрошенному размеру или для которых исходное изображение должно быть слишком сильно масштабировано. (Это сохраняет резкость.). Это поведение можно изменить, передав флаг GTK_ICON_LOOKUP_FORCE_SIZE при получении GtkIconInfo. Если этот флаг задан, pixbuf, возвращаемый этой функцией, будет масштабирован до точного размера.
Параметры
icon_info | ||
error | место для хранения информации об ошибке при ошибке или | [allow-none] |
Возвращает
отображённый значок; это может быть новый значок или новая ссылка на внутренний значок, поэтому вы не должны изменять значок. Используйте g_object_unref() для освобождения ссылки на значок.
[transfer full]
С: 2.4
gtk_icon_info_load_surface ()
cairo_surface_t * gtk_icon_info_load_surface (GtkIconInfo *icon_info,GdkWindow *for_window,GError **error);
Отображает значок, ранее найденный в теме значков с помощью gtk_icon_theme_lookup_icon(); размер будет основан на размере, переданном в gtk_icon_theme_lookup_icon(). Обратите внимание, что полученный поверхность может не соответствовать точно этому размеру; тема значков может содержать значки, немного отличающиеся от своих номинальных размеров, и, кроме того, GTK+ будет избегать масштабирования значков, которые он считает достаточно близкими к запрошенному размеру или для которых исходное изображение должно быть слишком сильно увеличено. (Это сохраняет четкость.). Это поведение можно изменить, передав флаг GTK_ICON_LOOKUP_FORCE_SIZE при получении GtkIconInfo. Если этот флаг был указан, пиксбуф, возвращаемый этой функцией, будет масштабирован до точного размера.
Параметры
icon_info | ||
for_window | [allow-none] | |
error | место для информации об ошибке при ошибке, или | [allow-none] |
Возвращаемое значение
отрисованный значок; это может быть новый значок или новая ссылка на внутренний значок, поэтому вы не должны его изменять. Используйте cairo_surface_destroy() для освобождения ссылки на значок.
[transfer full]
С: 3.10
gtk_icon_info_load_icon_async ()
void gtk_icon_info_load_icon_async (GtkIconInfo *icon_info,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
Асинхронная загрузка, отрисовка и масштабирование значка, ранее найденного в теме значков с помощью gtk_icon_theme_lookup_icon().
Дополнительную информацию см. в gtk_icon_info_load_icon(), которая является синхронной версией этого вызова.
Параметры
icon_info | ||
cancellable | необъект GCancellable, | [allow-none] |
callback | a GAsyncReadyCallback для вызова, когда запрос удовлетворён. | [scope async] |
user_data | данные, передаваемые функции обратного вызова. | [closure] |
С: 3.8
gtk_icon_info_load_icon_finish ()
GdkPixbuf * gtk_icon_info_load_icon_finish (GtkIconInfo *icon_info,GAsyncResult *res,GError **error);
Завершает асинхронную загрузку значка, см. gtk_icon_info_load_icon_async().
Параметры
icon_info | ||
res | ||
error | место для хранения информации об ошибке при ошибке, или | [allow-none] |
Возвращаемое значение
отрисованный значок; это может быть новый значок или новая ссылка на внутренний значок, поэтому вы не должны его изменять. Используйте g_object_unref() для освобождения ссылки на значок.
[transfer full]
С: 3.8
gtk_icon_info_load_symbolic ()
GdkPixbuf * gtk_icon_info_load_symbolic (GtkIconInfo *icon_info,const GdkRGBA *fg,const GdkRGBA *success_color,const GdkRGBA *warning_color,const GdkRGBA *error_color,gboolean *was_symbolic,GError **error);
Загружает значок, изменяя его, чтобы соответствовать системным цветам для переднего плана, успешного, предупреждающего и ошибочного цветов. Если значок не является символическим, функция вернёт результат из gtk_icon_info_load_icon().
Это позволяет загружать символические значки, которые будут соответствовать системной теме.
Если вы не реализуете виджет, вам следует использовать g_themed_icon_new_with_default_fallbacks() для загрузки значка.
В качестве реализации, загруженный значок должен быть типа SVG, содержать «symbolic» в качестве последнего компонента имени значка и использовать CSS-стили «fg», «success», «warning» и «error» в самом файле SVG.
См. Спецификацию символических значков для получения дополнительной информации о символических значках.
Параметры
icon_info | ||
fg | a GdkRGBA, представляющий цвет переднего плана значка | |
success_color | a GdkRGBA, представляющий цвет успешного значка, или | [allow-none] |
warning_color | a GdkRGBA, представляющий цвет предупреждения значка, или | [allow-none] |
error_color | a GdkRGBA, представляющий цвет ошибки значка, или | [allow-none] |
was_symbolic | a gboolean, возвращает, был ли загруженный значок символическим и был ли цвет | [out][allow-none] |
error | место для хранения информации об ошибке при неудаче, или | [allow-none] |
Возвращаемое значение
a GdkPixbuf, представляющий загруженный значок.
[transfer full]
С: 3.0
gtk_icon_info_load_symbolic_async ()
void gtk_icon_info_load_symbolic_async (GtkIconInfo *icon_info,const GdkRGBA *fg,const GdkRGBA *success_color,const GdkRGBA *warning_color,const GdkRGBA *error_color,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
Асинхронная загрузка, отрисовка и масштабирование символического значка, ранее найденного в теме значков с помощью gtk_icon_theme_lookup_icon().
Для получения дополнительной информации см. gtk_icon_info_load_symbolic(), который является синхронной версией этого вызова.
Параметры
icon_info | ||
fg | a GdkRGBA, представляющий цвет переднего плана значка | |
success_color | a GdkRGBA, представляющий цвет успешного значка, или | [allow-none] |
warning_color | a GdkRGBA, представляющий цвет предупреждения значка, или | [allow-none] |
error_color | a GdkRGBA, представляющий цвет ошибки значка, или | [allow-none] |
cancellable | optional GCancellable object, | [allow-none] |
callback | a GAsyncReadyCallback для вызова при выполнении запроса. | [scope async] |
user_data | данные, передаваемые в функцию обратного вызова. | [closure] |
С: 3.8
gtk_icon_info_load_symbolic_finish ()
GdkPixbuf * gtk_icon_info_load_symbolic_finish (GtkIconInfo *icon_info,GAsyncResult *res,gboolean *was_symbolic,GError **error);
Завершает асинхронную загрузку значка, см. gtk_icon_info_load_symbolic_async().
Параметры
Возвращаемое значение
отрисованный значок; это может быть новый значок или новая ссылка на внутренний значок, поэтому вы не должны изменять значок. Используйте g_object_unref() для освобождения ссылки на значок.
[transfer full]
С: 3.8
gtk_icon_info_load_symbolic_for_style ()
GdkPixbuf * gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info,GtkStyle *style,GtkStateType state,gboolean *was_symbolic,GError **error);
gtk_icon_info_load_symbolic_for_style устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_icon_info_load_symbolic_for_context() вместо него
Загружает значок, изменяя его для соответствия системным цветам для цветов переднего плана, успеха, предупреждения и ошибки, которые были предоставлены. Если значок не символический, функция вернёт результат из gtk_icon_info_load_icon().
Это позволяет загружать символические значки, которые будут соответствовать системной теме.
См. gtk_icon_info_load_symbolic() для получения более подробной информации.
Параметры
icon_info | ||
style | a GtkStyle для получения цветов | |
state | состояние виджета для использования цветов | |
was_symbolic | a gboolean, возвращает, был ли загруженный значок символическим и был ли к нему применён цвет | [out][allow-none] |
error | место для хранения информации об ошибке при ошибке, или | [allow-none] |
Возвращаемое значение
a GdkPixbuf, представляющий загруженный значок.
[transfer full]
С: 3.0
gtk_icon_info_load_symbolic_for_context ()
GdkPixbuf * gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info,GtkStyleContext *context,gboolean *was_symbolic,GError **error);
Загружает значок, изменяя его для соответствия системным цветам для цветов переднего плана, успеха, предупреждения и ошибки, которые были предоставлены. Если значок не символический, функция вернёт результат из gtk_icon_info_load_icon(). Эта функция использует обычный цвет переднего плана и символические цвета с именами «success_color», «warning_color» и «error_color» из контекста.
Это позволяет загружать символические значки, которые будут соответствовать системной теме.
См. gtk_icon_info_load_symbolic() для получения более подробной информации.
Параметры
Возвращаемое значение
a GdkPixbuf, представляющий загруженный значок.
[transfer full]
С: 3.0
gtk_icon_info_load_symbolic_for_context_async ()
void gtk_icon_info_load_symbolic_for_context_async (GtkIconInfo *icon_info,GtkStyleContext *context,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
Асинхронная загрузка, отрисовка и масштабирование символьного значка, ранее найденного в теме значков с помощью gtk_icon_theme_lookup_icon().
Для получения более подробной информации см. gtk_icon_info_load_symbolic_for_context(), которая является синхронной версией этого вызова.
Параметры
icon_info | объект GtkIconInfo из | |
context | объект GtkStyleContext | |
cancellable | объект GCancellable, необязательный. | [allow-none] |
callback | функция обратного вызова GAsyncReadyCallback для вызова при выполнении запроса. | [scope async] |
user_data | данные, передаваемые функции обратного вызова. | [closure] |
С: 3.8
gtk_icon_info_load_symbolic_for_context_finish ()
GdkPixbuf * gtk_icon_info_load_symbolic_for_context_finish (GtkIconInfo *icon_info,GAsyncResult *res,gboolean *was_symbolic,GError **error);
Завершает асинхронную загрузку значка, см. gtk_icon_info_load_symbolic_for_context_async().
Параметры
icon_info | объект GtkIconInfo из | |
res | объект GAsyncResult | |
was_symbolic | тип gboolean, возвращает, был ли загруженный значок символьным и был ли к нему применён цвет | [out][allow-none] |
error | место для хранения информации об ошибке при неудаче или | [allow-none] |
Возвращаемое значение
отображённый значок; это может быть новый созданный значок или новая ссылка на внутренний значок, поэтому его нельзя изменять. Используйте g_object_unref() для освобождения ссылки на значок.
[transfer full]
С: 3.8
gtk_icon_info_set_raw_coordinates ()
void gtk_icon_info_set_raw_coordinates (GtkIconInfo *icon_info,gboolean raw_coordinates);
gtk_icon_info_set_raw_coordinates устарело с версии 3.14 и не должно использоваться в новых кодах.
Встроенные прямоугольники и точки крепления устарели.
Устанавливает, должны ли координаты, возвращаемые gtk_icon_info_get_embedded_rect() и gtk_icon_info_get_attach_points(), возвращаться в их исходном виде, как указано в теме значков, вместо соответствующего масштабирования для pixbuf, возвращаемого gtk_icon_info_load_icon().
Необработанные координаты несколько необычны; они заданы относительно необработанного pixmap для значков PNG и XPM, но для значков SVG они находятся в координатном пространстве 1000x1000, которое масштабируется до конечного размера значка. Вы можете определить, является ли значок значком SVG, используя gtk_icon_info_get_filename() и проверку, не является ли он NULL и заканчивается на “.svg”.
Эта функция предоставляется в основном для обеспечения совместимости с более старыми API, и её применение для приложений вряд ли будет полезным.
Параметры
icon_info | объект GtkIconInfo | |
raw_coordinates | указывает, должны ли координаты встроенных прямоугольников и присоединённых точек возвращаться в их исходном (немасштабированном) виде. |
С: 2.4
gtk_icon_info_get-embedded-rect ()
gboolean gtk_icon_info_get_embedded_rect (GtkIconInfo *icon_info,GdkRectangle *rectangle);
gtk_icon_info_get_embedded_rect устарело с версии 3.14 и не должно использоваться в новых кодах.
Встроенные прямоугольники устарели.
Эта функция устарела и всегда возвращает FALSE.
Параметры
icon_info | объект GtkIconInfo | |
rectangle | GdkRectangle, в котором хранятся координаты встроенного прямоугольника; координаты сохраняются только если функция вернула | [out] |
Возвращаемое значение
С: 2.4
gtk_icon_info_get_attach_points ()
gboolean gtk_icon_info_get_attach_points (GtkIconInfo *icon_info,GdkPoint **points,gint *n_points);
gtk_icon_info_get_attach_points устарела начиная с версии 3.14 и не должна использоваться в новом коде.
Точки прикрепления устарели
Эта функция устарела и всегда возвращает FALSE.
Параметры
Возвращает
С версии: 2.4
gtk_icon_info_get_display_name ()
const gchar *
gtk_icon_info_get_display_name (GtkIconInfo *icon_info); gtk_icon_info_get_display_name устарела начиная с версии 3.14 и не должна использоваться в новом коде.
Отображаемые имена устарели
Эта функция устарела и всегда возвращает NULL.
Параметры
icon_info |
Возвращает
С версии: 2.4
gtk_icon_info_is_symbolic ()
gboolean
gtk_icon_info_is_symbolic (GtkIconInfo *icon_info); Проверяет, является ли значок символическим или нет. В настоящее время для определения этого используется только имя файла, а не содержимое файла. Это поведение может измениться в будущем.
Параметры
icon_info |
С версии: 3.12
Типы и значения
GtkIconInfo
typedef struct _GtkIconInfo GtkIconInfo;
Содержит информацию, найденную при поиске значка в теме значков.
struct GtkIconTheme
struct GtkIconTheme;
Действует как база данных информации о теме значков. Обычно вы получаете тему значков для определенного экрана, используя gtk_icon_theme_get_for_screen(), и она будет содержать информацию о текущей теме значков для этого экрана, но вы также можете создать новый объект GtkIconTheme и явно установить имя темы значков, используя gtk_icon_theme_set_custom_theme().
struct GtkIconThemeClass
struct GtkIconThemeClass {
GObjectClass parent_class;
void (* changed) (GtkIconTheme *icon_theme);
};
Члены
| Сигнал, генерируемый при переключении текущей темы значков или когда GTK+ обнаруживает, что произошли изменения в содержимом текущей темы значков. |
enum GtkIconLookupFlags
Используется для указания параметров для gtk_icon_theme_lookup_icon()
Члены
GTK_ICON_LOOKUP_NO_SVG | Никогда не получать SVG-значки, даже если gdk-pixbuf их поддерживает. Не может использоваться вместе с | |
GTK_ICON_LOOKUP_FORCE_SVG | Получать SVG-значки, даже если gdk-pixbuf их не поддерживает. Не может использоваться вместе с | |
GTK_ICON_LOOKUP_USE_BUILTIN | При передаче в | |
GTK_ICON_LOOKUP_GENERIC_FALLBACK | Попробуйте сократить имя значка по символам '-' перед просмотром унаследованных тем. Этот флаг поддерживается только в функциях, которые принимают одно имя значка. Для более общего резервного варианта см. | |
GTK_ICON_LOOKUP_FORCE_SIZE | Всегда получать значок, масштабированный до требуемого размера. С версии 2.14. | |
GTK_ICON_LOOKUP_FORCE_REGULAR | Попытка всегда загружать обычные значки, даже если заданы символические имена значков. С версии 3.14. | |
GTK_ICON_LOOKUP_FORCE_SYMBOLIC | Попытка всегда загружать символические значки, даже если заданы обычные имена значков. С версии 3.14. | |
GTK_ICON_LOOKUP_DIR_LTR | Попытка загрузить вариант значка для направления текста слева направо. С версии 3.14. | |
GTK_ICON_LOOKUP_DIR_RTL | Попытка загрузить вариант значка для направления текста справа налево. С версии 3.14. |
GTK_ICON_THEME_ERROR
#define GTK_ICON_THEME_ERROR gtk_icon_theme_error_quark ()
The GQuark используемый для ошибок GtkIconThemeError.
enum GtkIconThemeError
Коды ошибок для операций GtkIconTheme.
Члены
GTK_ICON_THEME_NOT_FOUND | Указанный значок не существует в теме | |
GTK_ICON_THEME_FAILED | Произошла неуказанная ошибка. |
Подробные сведения о сигналах
Сигнал “changed”
void user_function (GtkIconTheme *icon_theme, gpointer user_data)
Издается, когда текущая тема значков меняется или GTK+ обнаруживает изменения в содержимом текущей темы значков.
Параметры
icon_theme | тема значков | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнять последним
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkIconTheme.html