GtkFontChooser
GtkFontChooser — Интерфейс, реализуемый виджетами, отображающими шрифты
Функции
| PangoFontFamily * | gtk_font_chooser_get_font_family () |
| PangoFontFace * | gtk_font_chooser_get_font_face () |
| int | gtk_font_chooser_get_font_size () |
| char * | gtk_font_chooser_get_font () |
| void | gtk_font_chooser_set_font () |
| PangoFontDescription * | gtk_font_chooser_get_font_desc () |
| void | gtk_font_chooser_set_font_desc () |
| char * | gtk_font_chooser_get_font_features () |
| char * | gtk_font_chooser_get_language () |
| void | gtk_font_chooser_set_language () |
| char * | gtk_font_chooser_get_preview_text () |
| void | gtk_font_chooser_set_preview_text () |
| gboolean | gtk_font_chooser_get_show_preview_entry () |
| void | gtk_font_chooser_set_show_preview_entry () |
| GtkFontChooserLevel | gtk_font_chooser_get_level () |
| void | gtk_font_chooser_set_level () |
| gboolean | (*GtkFontFilterFunc) () |
| void | gtk_font_chooser_set_filter_func () |
| void | gtk_font_chooser_set_font_map () |
| PangoFontMap * | gtk_font_chooser_get_font_map () |
Свойства
| char * | font | Чтение/Запись |
| PangoFontDescription * | font-desc | Чтение/Запись |
| char * | font-features | Чтение |
| char * | language | Чтение/Запись |
| GtkFontChooserLevel | level | Чтение/Запись |
| char * | preview-text | Чтение/Запись |
| gboolean | show-preview-entry | Чтение/Запись |
Сигналы
| void | font-activated | Выполняется в первую очередь |
Типы и значения
| GtkFontChooser | |
| перечисление | GtkFontChooserLevel |
Иерархия объектов
GInterface ╰── GtkFontChooser
Предпосылки
GtkFontChooser требует GObject.
Известные реализации
GtkFontChooser реализуется с помощью GtkFontButton, GtkFontChooserDialog и GtkFontChooserWidget.
Включения
#include <gtk/gtk.h>
Описание
GtkFontChooser — это интерфейс, который могут реализовывать виджеты, отображающие список шрифтов. В GTK главные объекты, реализующие этот интерфейс, это GtkFontChooserWidget, GtkFontChooserDialog и GtkFontButton.
Функции
gtk_font_chooser_get_font_family ()
PangoFontFamily *
gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser); Возвращает PangoFontFamily, представляющий выбранную семейство шрифтов. Семейства шрифтов — это набор шрифтовых начертаний.
Если выбранный шрифт не установлен, возвращает NULL.
Параметры
fontchooser |
Возвращает
A PangoFontFamily, представляющий выбранную семейство шрифтов, или NULL. Возвращаемый объект принадлежит fontchooser и не должен быть изменён или освобождён.
[nullable][transfer none]
gtk_font_chooser_get_font_face ()
PangoFontFace *
gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser); Возвращает PangoFontFace, представляющий выбранный шрифт с деталями группы (т. е. семейство, наклон, вес, ширина и т. д.).
Если выбранный шрифт не установлен, возвращает NULL.
Параметры
fontchooser |
Возвращает
A PangoFontFace, представляющий выбранный шрифт с деталями группы, или NULL. Возвращаемый объект принадлежит fontchooser и не должен быть изменён или освобождён.
[nullable][transfer none]
gtk_font_chooser_get_font_size ()
int
gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser); Размер выбранного шрифта.
Параметры
fontchooser |
Возвращает
Целое число, представляющее размер выбранного шрифта, или -1, если размер шрифта не выбран.
gtk_font_chooser_get_font ()
char *
gtk_font_chooser_get_font (GtkFontChooser *fontchooser); Возвращает имя текущего выбранного шрифта.
Обратите внимание, что это может быть строка, отличная от той, которую вы установили с помощью gtk_font_chooser_set_font(), так как виджет выбора шрифтов может нормализовать имена шрифтов и, следовательно, вернуть строку с другой структурой. Например, «Helvetica Italic Bold 12» может быть нормализовано в «Helvetica Bold Italic 12».
Используйте pango_font_description_equal(), если вы хотите сравнить два описания шрифтов.
Параметры
fontchooser |
Возвращает
Строку с именем текущего шрифта или NULL если шрифт не выбран. Вы должны освободить эту строку с помощью g_free().
[nullable][transfer full]
gtk_font_chooser_set_font ()
void gtk_font_chooser_set_font (GtkFontChooser *fontchooser,const char *fontname);
Устанавливает текущий выбранный шрифт.
Параметры
fontchooser | ||
fontname | имя шрифта, например «Helvetica 12» или «Times Bold 18» |
gtk_font_chooser_get_font_desc ()
PangoFontDescription *
gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser); Возвращает текущий выбранный шрифт.
Обратите внимание, что это может быть строка, отличная от той, которую вы установили с помощью gtk_font_chooser_set_font(), так как виджет выбора шрифтов может нормализовать имена шрифтов и, следовательно, вернуть строку с другой структурой. Например, «Helvetica Italic Bold 12» может быть нормализовано в «Helvetica Bold Italic 12».
Используйте pango_font_description_equal(), если вы хотите сравнить два описания шрифтов.
Параметры
fontchooser |
Возвращает
A PangoFontDescription для текущего шрифта, или NULL если шрифт не выбран.
[nullable][transfer full]
gtk_font_chooser_set_font_desc ()
void gtk_font_chooser_set_font_desc (GtkFontChooser *fontchooser,const PangoFontDescription *font_desc);
Устанавливает текущий выбранный шрифт из font_desc .
Параметры
fontchooser | ||
font_desc |
gtk_font_chooser_get_font_features ()
char *
gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser); Возвращает текущие выбранные функции шрифта.
Параметры
fontchooser |
Возвращает
текущие выбранные функции шрифта
gtk_font_chooser_get_language ()
char *
gtk_font_chooser_get_language (GtkFontChooser *fontchooser); Возвращает язык, используемый для функций шрифта.
Параметры
fontchooser |
Возвращает
текущий выбранный язык
gtk_font_chooser_set_language ()
void gtk_font_chooser_set_language (GtkFontChooser *fontchooser,const char *language);
Устанавливает язык для использования в функциях шрифта.
Параметры
fontchooser | ||
language | язык |
gtk_font_chooser_get_preview_text ()
char *
gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser); Возвращает текст, отображаемый в области предварительного просмотра.
Параметры
fontchooser |
Возвращает
текст, отображаемый в области предварительного просмотра.
[transfer full]
gtk_font_chooser_set_preview_text ()
void gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser,const char *text);
Устанавливает текст, отображаемый в области предварительного просмотра. text используется для отображения того, как выбранный шрифт выглядит.
Параметры
fontchooser | ||
text | текст, который нужно отобразить в области предварительного просмотра. | [transfer none] |
gtk_font_chooser_get_show_preview_entry ()
gboolean
gtk_font_chooser_get_show_preview_entry
(GtkFontChooser *fontchooser); Возвращает, отображается ли поле предварительного просмотра.
Параметры
fontchooser |
Возвращает
TRUE если поле предварительного просмотра отображается или FALSE если оно скрыто.
gtk_font_chooser_set_show_preview_entry ()
void gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser,gboolean show_preview_entry);
Отображает или скрывает редактируемое поле предварительного просмотра.
Параметры
fontchooser | ||
show_preview_entry | отображать или нет редактируемое поле предварительного просмотра |
gtk_font_chooser_get_level ()
GtkFontChooserLevel
gtk_font_chooser_get_level (GtkFontChooser *fontchooser); Возвращает текущий уровень детализации для выбора шрифтов.
Параметры
fontchooser |
Возвращает
текущий уровень детализации
gtk_font_chooser_set_level ()
void gtk_font_chooser_set_level (GtkFontChooser *fontchooser,GtkFontChooserLevel level);
Устанавливает желаемый уровень детализации для выбора шрифтов.
Параметры
fontchooser | ||
level | желаемый уровень детализации |
GtkFontFilterFunc ()
gboolean (*GtkFontFilterFunc) (const PangoFontFamily *family,const PangoFontFace *face,gpointer data);
Тип функции, используемой для определения, какие шрифты отображаются в GtkFontChooser. См. gtk_font_chooser_set_filter_func().
Параметры
family | ||
face | a PangoFontFace принадлежащий | |
data | переданные пользователем данные в | [closure] |
Возвращает
TRUE если шрифт должен быть отображен
gtk_font_chooser_set_filter_func ()
void gtk_font_chooser_set_filter_func (GtkFontChooser *fontchooser,GtkFontFilterFunc filter,gpointer user_data,GDestroyNotify destroy);
Добавляет функцию фильтрации, которая определяет, какие шрифты отображать в диалоге выбора шрифтов.
Параметры
fontchooser | ||
filter | a GtkFontFilterFunc, или | [allow-none] |
user_data | данные, передаваемые в | [closure] |
destroy | функция, вызываемая для освобождения |
gtk_font_chooser_set_font_map ()
void gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser,PangoFontMap *fontmap);
Устанавливает пользовательскую карту шрифтов для использования в этом виджете выбора шрифтов. Пользовательская карта шрифтов может использоваться для отображения прикладных шрифтов вместо или в дополнение к стандартным системным шрифтам.
Обратите внимание, что другие виджеты GTK смогут использовать прикладной шрифт только в том случае, если он присутствует в используемой ими карте шрифтов:
FcConfig *config; PangoFontMap *fontmap; config = FcInitLoadConfigAndFonts (); FcConfigAppFontAddFile (config, my_app_font_file); fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT); pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config); gtk_font_chooser_set_font_map (font_chooser, fontmap);
Параметры
fontchooser | ||
fontmap | a PangoFontMap. | [allow-none] |
gtk_font_chooser_get_font_map ()
PangoFontMap *
gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser); Получает пользовательскую карту шрифтов этого виджета выбора шрифтов, или NULL если её нет.
Параметры
fontchooser |
Типы и значения
GtkFontChooser
typedef struct _GtkFontChooser GtkFontChooser;
перечисление GtkFontChooserLevel
Это перечисление задаёт желаемый уровень детализации выбора шрифтов в диалоге выбора шрифтов.
В будущем это перечисление может быть расширено; приложения должны игнорировать неизвестные значения.
Члены
GTK_FONT_CHOOSER_LEVEL_FAMILY | Разрешить выбор семейства шрифтов | |
GTK_FONT_CHOOSER_LEVEL_STYLE | Разрешить выбор конкретного начертания шрифта | |
GTK_FONT_CHOOSER_LEVEL_SIZE | Разрешить выбор конкретного размера шрифта | |
GTK_FONT_CHOOSER_LEVEL_VARIATIONS | Разрешить изменение осей вариаций OpenType шрифтов | |
GTK_FONT_CHOOSER_LEVEL_FEATURES | Разрешить выбор определённых функций шрифта OpenType |
Подробное описание свойств
Свойство “font”
“font” char *
Описание шрифта в виде строки, например, "Sans Italic 12".
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Значение по умолчанию: "Sans 10"
Свойство “font-desc”
“font-desc” PangoFontDescription *
Описание шрифта в виде PangoFontDescription.
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Свойство “font-features”
“font-features” char *
Выбранные особенности шрифта в формате, совместимом с CSS и атрибутами Pango.
Владелец: GtkFontChooser
Флаги: Чтение
Значение по умолчанию: ""
Свойство “language”
“language” char *
Язык, для которого были выбраны особенности шрифта “font-features” в формате, совместимом с CSS и атрибутами Pango.
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Значение по умолчанию: ""
Свойство “level”
“level” GtkFontChooserLevel
Уровень детализации для выбора шрифтов.
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Значение по умолчанию: GTK_FONT_CHOOSER_LEVEL_STYLE | GTK_FONT_CHOOSER_LEVEL_SIZE
Свойство “preview-text”
“preview-text” char *
Строка для предварительного просмотра шрифта.
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Значение по умолчанию: "Быстро коричневая лиса перепрыгивает через ленивую собаку."
Свойство “show-preview-entry”
“show-preview-entry” gboolean
Показывать ли поле для изменения текста предварительного просмотра.
Владелец: GtkFontChooser
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Подробное описание сигналов
Сигнал “font-activated”
void user_function (GtkFontChooser *self, char *fontname, gpointer user_data)
Выдаётся, когда шрифт активирован. Обычно происходит при двойном щелчке по элементу, или при выборе элемента и нажатии клавиш Пробел, Shift+Пробел, Возврат или Enter.
Параметры
self | объект, получивший сигнал | |
fontname | название шрифта | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнять первым
См. также
© 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/GtkFontChooser.html