GtkStyleContext
GtkStyleContext — Отрисовка элементов пользовательского интерфейса
Функции
| void | gtk_render_slider () |
| void | gtk_render_activity () |
| GdkPixbuf * | gtk_render_icon_pixbuf () |
| void | gtk_render_icon_surface () |
| void | gtk_render_icon () |
| void | gtk_render_insertion_cursor () |
Свойства
| GtkTextDirection | направление | Чтение/Запись |
| GdkFrameClock * | таймер_определения | Чтение/Запись |
| GtkStyleContext * | родитель | Чтение/Запись |
| GdkScreen * | экран | Чтение/Запись |
Сигналы
Типы и значения
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkStyleContext — это объект, хранящий информацию об оформлении, влияющую на виджет, определенный с помощью GtkWidgetPath.
Для создания окончательной информации об оформлении GtkStyleContext запрашивает данные у всех подключенных поставщиков стилей. Поставщики стилей могут быть подключены явно к контексту с помощью gtk_style_context_add_provider() или к экрану с помощью gtk_style_context_add_provider_for_screen(). Результирующий стиль представляет собой комбинацию данных всех поставщиков в порядке приоритета.
Для виджетов GTK+ любой GtkStyleContext, возвращаемый функцией gtk_widget_get_style_context(), уже будет содержать GtkWidgetPath, GdkScreen и информацию о направлении текста (RTL/LTR). Контекст стиля также будет автоматически обновляться, если какие-либо из этих настроек изменятся в виджете.
Если вы используете слой оформления автономно, вам нужно самостоятельно установить путь виджета и экран в созданном контексте стиля с помощью gtk_style_context_set_path() и gtk_style_context_set_screen(), а также самостоятельно обновлять контекст с помощью gtk_style_context_invalidate() всякий раз, когда меняются какие-либо условия, такие как изменение настройки “gtk-theme-name” или изменение структуры отображаемого виджета. См. пример «Внешнее рисование» в gtk3-demo.
Классы стиля
Виджеты могут добавлять классы стиля в свой контекст, которые могут использоваться для сопоставления различных стилей по классам. Документация по отдельным виджетам перечисляет классы стилей, которые он использует сам, и классы стилей, которые могут быть добавлены приложениями, чтобы повлиять на их внешний вид.
GTK+ определяет макросы для ряда классов стиля.
Области стиля
Виджеты также могут добавлять области со флагами в свой контекст. Эта функция устарела и будет удалена в будущих обновлениях GTK+. Используйте вместо этого классы стиля.
GTK+ определяет макросы для ряда областей стиля.
Настройка пользовательского стиля в UI-библиотеках и приложениях
Если вы разрабатываете библиотеку с пользовательскими GtkWidgets, которые отображаются иначе, чем стандартные компоненты, вам может потребоваться добавить собственный GtkStyleProvider с приоритетом GTK_STYLE_PROVIDER_PRIORITY_FALLBACK, например GtkCssProvider или пользовательский объект, реализующий интерфейс GtkStyleProvider. Таким образом, темы по-прежнему могут попытаться стилизовать ваши элементы пользовательского интерфейса по-разному, если это необходимо.
Если вы используете пользовательский стиль в приложении, вы, вероятно, захотите, чтобы ваша информация о стиле имела приоритет над стилем темы, поэтому вам необходимо использовать GtkStyleProvider с приоритетом GTK_STYLE_PROVIDER_PRIORITY_APPLICATION. Имейте в виду, что настройки пользователя в XDG_CONFIG_HOME/gtk-3.0/gtk.css по-прежнему будут иметь приоритет над вашими изменениями, так как они используют приоритет GTK_STYLE_PROVIDER_PRIORITY_USER.
Функции
gtk_style_context_new ()
GtkStyleContext *
gtk_style_context_new (void); Создаёт автономный GtkStyleContext, этот контекст стиля не будет привязан к какому-либо виджету, поэтому вы можете вызвать gtk_style_context_set_path() самостоятельно.
Эта функция полезна только при использовании слоя оформления, отделённого от GTK+, если вы используете GtkStyleContext для оформления GtkВиджеты, используйте gtk_widget_get_style_context(), чтобы получить контекст стиля, готовый для оформления виджета.
Возвращаемое значение
Созданный GtkStyleContext.
gtk_style_context_add_provider ()
void gtk_style_context_add_provider (GtkStyleContext *context,GtkStyleProvider *provider,guint priority);
Добавляет поставщик стиля в context для использования при построении стиля. Обратите внимание, что поставщик стиля, добавленный этой функцией, влияет только на стиль виджета, к которому относится context. Если вы хотите повлиять на стиль всех виджетов, используйте gtk_style_context_add_provider_for_screen().
Примечание: Если оба приоритета одинаковы, GtkStyleProvider, добавленный с помощью этой функции, имеет приоритет перед другим, добавленным через gtk_style_context_add_provider_for_screen().
Параметры
context | ||
provider | ||
priority | приоритет поставщика стиля. Чем он ниже, тем раньше он будет использован при построении стиля. Обычно он будет в диапазоне между |
С: 3.0
gtk_style_context_add_provider_for_screen ()
void gtk_style_context_add_provider_for_screen (GdkScreen *screen,GtkStyleProvider *provider,guint priority);
Добавляет глобального поставщика стиля в screen, который будет использоваться при построении стиля для всех GtkStyleContexts под screen.
GTK+ использует это, чтобы сделать доступной информацию об оформлении из GtkSettings.
Примечание: Если оба приоритета одинаковы, GtkStyleProvider, добавленный через gtk_style_context_add_provider(), имеет приоритет перед добавленным через эту функцию.
Параметры
screen | ||
provider | ||
priority | приоритет поставщика стиля. Чем он ниже, тем раньше он будет использован при построении стиля. Обычно он будет в диапазоне между |
С: 3.0
gtk_style_context_get ()
void gtk_style_context_get (GtkStyleContext *context,GtkStateFlags state,...);
Извлекает несколько значений свойств стиля из context для заданного состояния.
См. gtk_style_context_get_property() для получения подробностей.
Параметры
context | ||
state | состояние для извлечения значений свойств | |
... | названия свойств/пары возвращаемых значений, за которыми следует |
С: 3.0
gtk_style_context_get_direction ()
GtkTextDirection
gtk_style_context_get_direction (GtkStyleContext *context); gtk_style_context_get_direction устарел с версии 3.8 и не должен использоваться в новых кодах.
Используйте gtk_style_context_get_state() и проверьте GTK_STATE_FLAG_DIR_LTR и GTK_STATE_FLAG-DIR_RTL вместо этого.
Возвращает направление виджета, используемое для рендеринга.
Параметры
context |
Возвращаемое значение
направление виджета
С: 3.0
gtk_style_context_get_junction_sides ()
GtkJunctionSides
gtk_style_context_get_junction_sides (GtkStyleContext *context); Возвращает стороны, где визуально соединяются рендеренные элементы.
Параметры
context |
Возвращаемое значение
стороны соединения
С: 3.0
gtk_style_context_get_parent ()
GtkStyleContext *
gtk_style_context_get_parent (GtkStyleContext *context); Получает родительский контекст, установленный с помощью gtk_style_context_set_parent(). Смотрите эту функцию для получения подробностей.
Параметры
context |
С: 3.4
gtk_style_context_get_path ()
const GtkWidgetPath *
gtk_style_context_get_path (GtkStyleContext *context); Возвращает путь виджета, используемый для сопоставления стилей.
Параметры
context |
С: 3.0
gtk_style_context_get_property ()
void gtk_style_context_get_property (GtkStyleContext *context,const gchar *property,GtkStateFlags state,GValue *value);
Получает свойство стиля из context для заданного состояния.
Обратите внимание, что не все свойства CSS, поддерживаемые GTK+, могут быть получены таким образом, поскольку они могут не быть представимы как GValue. GTK+ определяет макросы для ряда свойств, которые можно использовать с этой функцией.
Обратите внимание, что передача состояния, отличного от текущего состояния context, не рекомендуется, если контекст стиля не был сохранён с помощью gtk_style_context_save().
Когда value больше не нужен, необходимо вызвать g_value_unset() для освобождения выделенной памяти.
Параметры
context | ||
property | имя свойства стиля | |
state | состояние для получения значения свойства | |
value | место возврата значения свойства стиля. | [out][transfer full] |
С: 3.0
gtk_style_context_get_screen ()
GdkScreen *
gtk_style_context_get_screen (GtkStyleContext *context); Возвращает GdkScreen, к которому прикреплён context.
Параметры
context |
gtk_style_context_get_frame_clock ()
GdkFrameClock *
gtk_style_context_get_frame_clock (GtkStyleContext *context); Возвращает GdkFrameClock, к которому прикреплён context.
Параметры
context |
Возвращает
a GdkFrameClock, или NULL, если у context нет прикреплённого таймера кадров.
[nullable][transfer none]
С: 3.8
gtk_style_context_get_state ()
GtkStateFlags
gtk_style_context_get_state (GtkStyleContext *context); Возвращает состояние, используемое для сопоставления стилей.
Этот метод следует использовать только для получения GtkStateFlags, чтобы передать его методам GtkStyleContext, таким как gtk_style_context_get_padding(). Если вам нужно получить текущее состояние GtkWidget, используйте gtk_widget_get_state_flags().
Параметры
context |
Возвращает
флаги состояния
С: 3.0
gtk_style_context_get_style ()
void gtk_style_context_get_style (GtkStyleContext *context,...);
Получает несколько свойств стиля виджета из context в соответствии с текущим стилем.
Параметры
context | ||
... | пары имя свойства/значение, за которыми следует |
С: 3.0
gtk_style_context_get_style_property ()
void gtk_style_context_get_style_property (GtkStyleContext *context,const gchar *property_name,GValue *value);
Получает значение свойства стиля виджета.
Когда value больше не нужен, необходимо вызвать g_value_unset() для освобождения выделенной памяти.
Параметры
context | ||
property_name | имя свойства стиля виджета | |
value | Место возврата значения свойства |
gtk_style_context_get_style_valist ()
void gtk_style_context_get_style_valist (GtkStyleContext *context,va_list args);
Получает несколько свойств стиля виджета из context в соответствии с текущим стилем.
Параметры
context | ||
args | va_list пар имя свойства/место возврата значения, за которыми следует |
С: 3.0
gtk_style_context_get_valist ()
void gtk_style_context_get_valist (GtkStyleContext *context,GtkStateFlags state,va_list args);
Извлекает несколько значений свойств стиля из context для заданного состояния.
Подробности см. в gtk_style_context_get_property().
Параметры
context | ||
state | состояние для извлечения значений свойств | |
args | va_list пар имя свойства/местоположение возврата, после чего следует |
С версии: 3.0
gtk_style_context_get_section ()
GtkCssSection * gtk_style_context_get_section (GtkStyleContext *context,const gchar *property);
Запрашивает расположение в CSS, где property было определено для текущего context. Обратите внимание, что состояние, которое нужно запросить, взято из gtk_style_context_get_state().
Если расположение недоступно, возвращается NULL. Расположение может быть недоступно по разным причинам, таким как переопределение свойства, property не называет поддерживаемого свойства CSS или отключение отслеживания определений по соображениям производительности.
Нельзя запросить расположение для сокращенных свойств CSS, они всегда вернут NULL.
Параметры
context | ||
property | имя свойства стиля |
gtk_style_context_get_color ()
void gtk_style_context_get_color (GtkStyleContext *context,GtkStateFlags state,GdkRGBA *color);
Возвращает цвет переднего плана для заданного состояния.
См. gtk_style_context_get_property() и GTK_STYLE_PROPERTY_COLOR для получения подробностей.
Параметры
context | ||
state | состояние для извлечения цвета | |
color | возвращаемое значение цвета переднего плана. | [out] |
С версии: 3.0
gtk_style_context_get_background_color ()
void gtk_style_context_get_background_color (GtkStyleContext *context,GtkStateFlags state,GdkRGBA *color);
gtk_style_context_get_background_color устарел с версии 3.16 и не должен использоваться в новом коде.
Используйте gtk_render_background() вместо этого.
Возвращает цвет фона для заданного состояния.
Эта функция гораздо менее полезна, чем кажется, и её не следует использовать в новом коде. В CSS нет понятия «цвет фона», так как фон может быть изображением, градиентом или любым другим узором, включая сплошные цвета.
Единственная причина, по которой вы бы вызвали gtk_style_context_get_background_color(), заключается в использовании возвращаемого значения для рисования фона; правильный способ достижения этого результата — использовать gtk_render_background() вместо этого, вместе с классами стилей CSS для изменения цвета, который будет отрисован.
Параметры
context | ||
state | состояние для извлечения цвета | |
color | возвращаемое значение цвета фона. | [out] |
С версии: 3.0
gtk_style_context_get_border_color ()
void gtk_style_context_get_border_color (GtkStyleContext *context,GtkStateFlags state,GdkRGBA *color);
gtk_style_context_get_border_color устарел с версии 3.16 и не должен использоваться в новом коде.
Используйте gtk_render_frame() вместо этого.
Возвращает цвет границы для заданного состояния.
Параметры
context | ||
state | состояние для извлечения цвета | |
color | возвращаемое значение цвета границы. | [out] |
С версии: 3.0
gtk_style_context_get_border ()
void gtk_style_context_get_border (GtkStyleContext *context,GtkStateFlags state,GtkBorder *border);
Возвращает границу для заданного состояния в виде GtkBorder.
См. gtk_style_context_get_property() и GTK_STYLE_PROPERTY_BORDER_WIDTH для получения подробностей.
Параметры
context | ||
state | состояние для извлечения границы | |
border | возвращаемое значение настроек границы. | [out] |
С версии: 3.0
gtk_style_context_get_padding ()
void gtk_style_context_get_padding (GtkStyleContext *context,GtkStateFlags state,GtkBorder *padding);
Получает отступы для заданного состояния в виде GtkBorder. См. gtk_style_context_get() и GTK_STYLE_PROPERTY_PADDING для получения подробностей.
Параметры
context | ||
state | состояние, для которого необходимо получить отступы | |
padding | значение отступов. | [out] |
С: 3.0
gtk_style_context_get_margin ()
void gtk_style_context_get_margin (GtkStyleContext *context,GtkStateFlags state,GtkBorder *margin);
Получает отступ для заданного состояния в виде GtkBorder. См. gtk_style_property_get() и GTK_STYLE_PROPERTY_MARGIN для получения подробностей.
Параметры
context | ||
state | состояние, для которого необходимо получить отступ | |
margin | значение отступа. | [out] |
С: 3.0
gtk_style_context_get_font ()
const PangoFontDescription * gtk_style_context_get_font (GtkStyleContext *context,GtkStateFlags state);
gtk_style_context_get_font устарел начиная с версии 3.8 и не должен использоваться в новом коде.
Используйте gtk_style_context_get() для "шрифта" или подсвойств вместо этого.
Возвращает описание шрифта для заданного состояния. Возвращаемый объект является константным и будет оставаться действительным до момента срабатывания сигнала “changed”.
Параметры
context | ||
state | состояние, для которого необходимо получить шрифт |
Возвращает
PangoFontDescription для заданного состояния. Этот объект принадлежит GTK+ и не должен освобождаться.
[transfer none]
С: 3.0
gtk_style_context_invalidate ()
void
gtk_style_context_invalidate (GtkStyleContext *context); gtk_style_context_invalidate устарел начиная с версии 3.12 и не должен использоваться в новом коде.
Стили контексты делают недействительными автоматически.
Делает недействительной информацию о стиле context, чтобы она была перестроена заново. Это полезно, если вы изменяете context и вам немедленно требуется новая информация.
Параметры
context |
С: 3.0
gtk_style_context_state_is_running ()
gboolean gtk_style_context_state_is_running (GtkStyleContext *context,GtkStateType state,gdouble *progress);
gtk_style_context_state_is_running устарел начиная с версии 3.6 и не должен использоваться в новом коде.
Эта функция всегда возвращает FALSE
Возвращает TRUE, если для текущей области выполняется анимация перехода (см. gtk_style_context_push_animatable_region()).
Если progress не NULL, то будет возвращено значение прогресса анимации, 0.0 означает, что состояние ближе к сбросу, а 1.0 – к установке. Это означает, что анимация перехода будет выполняться от 0 до 1, когда state устанавливается, и от 1 до 0, когда оно сбрасывается.
Параметры
context | ||
state | состояние виджета | |
progress | место для возвращения значения прогресса перехода. | [out] |
Возвращает
TRUE, если для state выполняется анимация перехода.
С: 3.0
gtk_style_context_lookup_color ()
gboolean gtk_style_context_lookup_color (GtkStyleContext *context,const gchar *color_name,GdkRGBA *color);
Ищет и разрешает имя цвета в цветовой карте context.
Параметры
context | ||
color_name | имя цвета для поиска | |
color | место для возвращения найденного цвета. | [out] |
gtk_style_context_lookup_icon_set ()
GtkIconSet * gtk_style_context_lookup_icon_set (GtkStyleContext *context,const gchar *stock_id);
gtk_style_context_lookup_icon_set устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Используйте gtk_icon_theme_lookup_icon() вместо этого.
Ищет stock_id в фабриках иконок, связанных с context, и в фабрике по умолчанию. Возвращает набор иконок, если найден, иначе NULL.
Параметры
context | ||
stock_id | имя иконки |
gtk_style_context_notify_state_change ()
void gtk_style_context_notify_state_change (GtkStyleContext *context,GdkWindow *window,gpointer region_id,GtkStateType state,gboolean state_value);
gtk_style_context_notify_state_change устарело начиная с версии 3.6 и не должно использоваться в новом коде.
Эта функция ничего не делает.
Уведомляет об изменении состояния context, поэтому, если текущий стиль использует анимации переходов, будет запущена анимация, чтобы все отрисованные элементы под region_id анимировались для состояния state, устанавливаемого в значение state_value.
Параметр window используется для того, чтобы сделать область отрисовки недействительной во время выполнения анимации, поэтому убедитесь, что это тот же самый окно, который отрисовывается функциями gtk_render_*().
Если region_id равен NULL, все отрисованные элементы, использующие context, будут затронуты этим переходом состояния.
В качестве практического примера, GtkButton уведомляет о переходе состояния при наведении курсора:
Это можно обработать в файле CSS следующим образом:
Эта комбинация будет анимировать фон кнопки от красного к белому, если курсор попадает на кнопку, и обратно к красному, если курсор выходит с кнопки.
Обратите внимание, что state используется при поиске параметров перехода, поэтому стиль помещает переход под псевдоклассом :hover.
Параметры
context | ||
window | ||
region_id | область, подлежащая анимации, или | [allow-none] |
state | состояние, для которого нужно запустить переход | |
state_value |
|
С: 3.0
gtk_style_context_pop_animatable_region ()
void
gtk_style_context_pop_animatable_region
(GtkStyleContext *context); gtk_style_context_pop_animatable_region устарело начиная с версии 3.6 и не должно использоваться в новом коде.
Эта функция ничего не делает.
Удаляет область анимации из context. См. gtk_style_context_push_animatable_region().
Параметры
context |
С: 3.0
gtk_style_context_push_animatable-region ()
void gtk_style_context_push_animatable_region (GtkStyleContext *context,gpointer region_id);
gtk_style_context_push_animatable_region устарело начиная с версии 3.6 и не должно использоваться в новом коде.
Эта функция ничего не делает.
Вставляет область анимации, поэтому все последующие вызовы gtk_render_*() между этим вызовом и следующим gtk_style_context_pop_animatable_region() потенциально будут показывать анимации переходов для этой области, если вызов gtk_style_context_notify_state_change() вызывается для заданного состояния, и текущая тема/стиль определяет анимации переходов для изменений состояния.
Используемый region_id должен быть уникальным в context, чтобы темы могли уникальным образом идентифицировать отрисованные элементы, подверженные переходу состояния.
Параметры
context | ||
region_id | уникальный идентификатор области анимации |
С: 3.0
gtk_style_context_cancel-animations ()
void gtk_style_context_cancel_animations (GtkStyleContext *context,gpointer region_id);
gtk_style_context_cancel_animations устарело начиная с версии 3.6 и не должно использоваться в новом коде.
Эта функция ничего не делает.
Останавливает все выполняющиеся анимации для region_id и всех областей анимации под ним.
NULL region_id остановит все текущие анимации в context. При работе с GtkStyleContext, полученным через gtk_widget_get_style_context(), это обычно делается за вас во всех случаях, когда вы ожидаете остановки всех виджетов. Поэтому это следует использовать только в сложных виджетах с различными областями анимации.
Параметры
context | ||
region_id | область анимации для остановки или | [allow-none] |
С: 3.0
gtk_style_context_scroll_animations ()
void gtk_style_context_scroll_animations (GtkStyleContext *context,GdkWindow *window,gint dx,gint dy);
gtk_style_context_scroll_animations устарело с версии 3.6 и не должно использоваться в новом коде.
Эта функция ничего не делает.
Эта функция аналогична gdk_window_scroll() и должна вызываться вместе с ней, чтобы области недействительности для любого текущего анимационного скролла перемещались вместе.
Параметры
context | ||
window | a GdkWindow, ранее использованный в | |
dx | Сдвиг по оси X | |
dy | Сдвиг по оси Y |
С: 3.0
gtk_style_context_remove_provider ()
void gtk_style_context_remove_provider (GtkStyleContext *context,GtkStyleProvider *provider);
Удаляет provider из списка поставщиков стилей в context .
Параметры
context | ||
provider |
С: 3.0
gtk_style_context_remove_provider_for_screen ()
void gtk_style_context_remove_provider_for_screen (GdkScreen *screen,GtkStyleProvider *provider);
Удаляет provider из глобального списка поставщиков стилей в screen .
Параметры
screen | ||
provider |
С: 3.0
gtk_style_context_reset_widgets ()
void
gtk_style_context_reset_widgets (GdkScreen *screen); Эта функция пересчитывает стили для всех виджетов под определенным GdkScreen. Это полезно, когда изменился какой-либо глобальный параметр, влияющий на внешний вид всех виджетов, потому что при получении виджетом нового стиля он перерисует и пересчитает любые кешированные данные о его внешнем виде. Например, используется при изменении цветовой схемы в связанном объекте GtkSettings.
Параметры
screen |
С: 3.0
gtk_style_context_set_background ()
void gtk_style_context_set_background (GtkStyleContext *context,GdkWindow *window);
gtk_style_context_set_background устарело с версии 3.18 и не должно использоваться в новом коде.
Используйте gtk_render_background() вместо этого. Обратите внимание, что клиенты, которые всё ещё используют эту функцию, теперь несут ответственность за повторный вызов этой функции всякий раз, когда context становится недействительным.
Устанавливает фон window в соответствии с узором или цветом фона, указанными в context для его текущего состояния.
Параметры
context | ||
window |
С: 3.0
gtk_style_context_restore ()
void
gtk_style_context_restore (GtkStyleContext *context); Восстанавливает состояние context до предыдущей стадии. Смотрите gtk_style_context_save().
Параметры
context |
С: 3.0
gtk_style_context_save ()
void
gtk_style_context_save (GtkStyleContext *context); Сохраняет состояние context, чтобы временные изменения, внесённые через gtk_style_context_add_class(), gtk_style_context_remove_class(), gtk_style_context_set_state() и т. д., можно было быстро откатить в один шаг через gtk_style_context_restore().
Соответствующий вызов gtk_style_context_restore() должен быть выполнен до того, как GTK вернётся в основной цикл.
Параметры
context |
С: 3.0
gtk_style_context_set_direction ()
void gtk_style_context_set_direction (GtkStyleContext *context,GtkTextDirection direction);
gtk_style_context_set_direction устарело с версии 3.8 и не должно использоваться в новом коде.
Используйте gtk_style_context_set_state() со GTK_STATE_FLAG_DIR_LTR и GTK_STATE_FLAG_DIR_RTL вместо этого.
Устанавливает направление чтения для целей рендеринга.
Если вы используете GtkStyleContext, полученный из gtk_widget_get_style_context(), вам не нужно вызывать эту функцию самостоятельно.
Параметры
context | ||
direction | новое направление. |
С: 3.0
gtk_style_context_set_junction_sides ()
void gtk_style_context_set_junction_sides (GtkStyleContext *context,GtkJunctionSides sides);
Устанавливает стороны, где отрисовываемые элементы (в основном через gtk_render_frame()) будут визуально соединяться с другими визуальными элементами.
Это всего лишь подсказка, которая может быть или не быть учтена темами.
Ожидается, что контейнерные виджеты будут устанавливать подсказки соединения соответствующим образом для своих дочерних элементов, поэтому обычно нет необходимости вызывать эту функцию вручную.
Параметры
context | ||
sides | стороны, где отрисовываемые элементы визуально соединяются с другими элементами |
С: 3.0
gtk_style_context_set_parent ()
void gtk_style_context_set_parent (GtkStyleContext *context,GtkStyleContext *parent);
Устанавливает родительский контекст стиля для context . Родительский контекст стиля используется для реализации наследования свойств.
Если вы используете GtkStyleContext, возвращённый из gtk_widget_get_style_context(), родитель будет установлен за вас.
Параметры
context | ||
parent | новый родитель или | [allow-none] |
С: 3.4
gtk_style_context_set_path ()
void gtk_style_context_set_path (GtkStyleContext *context,GtkWidgetPath *path);
Устанавливает GtkWidgetPath, используемый для сопоставления стилей. Вследствие этого стиль будет перегенерирован для соответствия новому пути.
Если вы используете GtkStyleContext, возвращённый из gtk_widget_get_style_context(), вам не нужно вызывать это самим.
Параметры
context | ||
path |
С: 3.0
gtk_style_context_add_class ()
void gtk_style_context_add_class (GtkStyleContext *context,const gchar *class_name);
Добавляет класс стиля к context, чтобы последующие вызовы gtk_style_context_get() или любой из функций gtk_render_*() будут использовать этот новый класс для форматирования.
В формате файла CSS, GtkEntry с определением класса “search”, будет соответствовать:
В то время как любой виджет с классом “search” будет соответствовать:
Параметры
context | ||
class_name | имя класса для использования в форматировании |
С: 3.0
gtk_style_context_remove_class ()
void gtk_style_context_remove_class (GtkStyleContext *context,const gchar *class_name);
Удаляет class_name из context.
Параметры
context | ||
class_name | имя класса для удаления |
С: 3.0
gtk_style_context_has_class ()
gboolean gtk_style_context_has_class (GtkStyleContext *context,const gchar *class_name);
Возвращает TRUE, если context в настоящее время имеет определённое имя класса.
Параметры
context | ||
class_name | имя класса |
Возвращает
TRUE, если у context определено class_name
С: 3.0
gtk_style_context_list_classes ()
GList *
gtk_style_context_list_classes (GtkStyleContext *context); Возвращает список классов, которые в данный момент определены в context.
Параметры
context |
Возвращает
a GList строк с текущими определёнными классами. Содержимое списка принадлежит GTK+, но вы должны освободить сам список с помощью g_list_free(), когда вы закончите с ним.
[transfer container][element-type utf8]
С: 3.0
gtk_style_context_add_region ()
void gtk_style_context_add_region (GtkStyleContext *context,const gchar *region_name,GtkRegionFlags flags);
gtk_style_context_add_region устарело начиная с версии 3.14 и не должно использоваться в новом коде.
Добавляет область к context, поэтому последующие вызовы gtk_style_context_get() или любых функций gtk_render_*() будут использовать эту новую область для форматирования.
В формате файла CSS, GtkTreeView с определением области “row”, будет соответствовать:
Псевдоклассы используются для сопоставления flags, поэтому следующие два правила:
gtk_style_context_notify_state_change (context, gtk_widget_get_window (widget), NULL, GTK_STATE_PRELIGHT, button->in_button);
будут применяться к чётным и нечётным строкам соответственно.
Имена областей должны содержать только строчные буквы и “-”, всегда начинаться со строчной буквы.
Параметры
context | ||
region_name | имя области для использования в форматировании | |
flags | флаги, применимые к области |
С: 3.0
gtk_style_context_remove_region ()
void gtk_style_context_remove_region (GtkStyleContext *context,const gchar *region_name);
gtk_style_context_remove_region устарело начиная с версии 3.14 и не должно использоваться в новом коде.
Удаляет область из context .
Параметры
context | ||
region_name | имя области для сброса |
С: 3.0
gtk_style_context_has-region ()
gboolean gtk_style_context_has_region (GtkStyleContext *context,const gchar *region_name,GtkRegionFlags *flags_return);
gtk_style_context_has_region устарело начиная с версии 3.14 и не должно использоваться в новом коде.
Возвращает TRUE, если context имеет определенную область. Если flags_return не NULL, оно устанавливается в флаги, влияющие на область.
Параметры
context | ||
region_name | имя области | |
flags_return | место возврата для флагов области. | [out][allow-none] |
Возвращает
TRUE, если область определена
С: 3.0
gtk_style_context_list-regions ()
GList *
gtk_style_context_list_regions (GtkStyleContext *context); gtk_style_context_list_regions устарело начиная с версии 3.14 и не должно использоваться в новом коде.
Возвращает список областей, в настоящее время определённых в context .
Параметры
context |
Возвращает
a GList строк с текущими определёнными областями. Содержимое списка принадлежит GTK+, но вы должны освободить сам список с помощью g_list_free() когда закончите работу с ним.
[transfer container][element-type utf8]
С: 3.0
gtk_style_context_set-screen ()
void gtk_style_context_set_screen (GtkStyleContext *context,GdkScreen *screen);
Прикрепляет context к заданному экрану.
Экран используется для добавления информации о стиле из «глобальных» поставщиков стилей, таких как экземпляры экрана GtkSettings.
Если вы используете GtkStyleContext, возвращённый из gtk_widget_get_style_context(), вам не нужно вызывать это самостоятельно.
Параметры
context | ||
screen |
С: 3.0
gtk_style_context_set-frame-clock ()
void gtk_style_context_set_frame_clock (GtkStyleContext *context,GdkFrameClock *frame_clock);
Прикрепляет context к заданному таймеру кадров.
Таймер кадров используется для синхронизации анимаций.
Если вы используете GtkStyleContext, возвращённый из gtk_widget_get_style_context(), вам не нужно вызывать это самостоятельно.
Параметры
context | ||
frame_clock |
С: 3.8
gtk_style_context_set-state ()
void gtk_style_context_set_state (GtkStyleContext *context,GtkStateFlags flags);
Устанавливает состояние, используемое для сопоставления стилей.
Параметры
context | ||
flags | состояние для представления |
С: 3.0
gtk_style_context_set-scale ()
void gtk_style_context_set_scale (GtkStyleContext *context,gint scale);
Устанавливает масштаб, используемый при получении ресурсов изображений для стиля.
Параметры
context | ||
scale | масштаб |
С: 3.10
gtk_style_context_get-scale ()
gint
gtk_style_context_get_scale (GtkStyleContext *context); Возвращает используемый масштаб для ресурсов.
Параметры
context |
Возвращает
масштаб
С: 3.10
gtk_style_context-to-string ()
char * gtk_style_context_to_string (GtkStyleContext *context,GtkStyleContextPrintFlags flags);
Преобразует контекст стиля в строковое представление.
Строковое представление всегда включает информацию об имени, состоянии, идентификаторе, видимости и классах стилей узла CSS, который поддерживает context . В зависимости от флагов может быть включена дополнительная информация.
Эта функция предназначена для тестирования и отладки реализации CSS в GTK+. Нет гарантий относительно формата возвращаемой строки, она может измениться.
Параметры
context | ||
flags | Флаги, определяющие что печатать |
Возвращает
новый выделенный строка, представляющий context
С: 3.20
gtk_border_new ()
GtkBorder *
gtk_border_new (void); Выделяет новую структуру GtkBorder и инициализирует её элементы нулём.
Возвращает
нововыделенную структуру GtkBorder. Освободите с помощью gtk_border_free().
[transfer full]
С версии: 2.14
gtk_border_copy ()
GtkBorder *
gtk_border_copy (const GtkBorder *border_); Копирует структуру GtkBorder.
Параметры
border_ | структура GtkBorder |
Возвращает
копию border_ .
[transfer full]
gtk_border_free ()
void
gtk_border_free (GtkBorder *border_); Освобождает структуру GtkBorder.
Параметры
border_ | структура GtkBorder |
gtk_render_arrow ()
void gtk_render_arrow (GtkStyleContext *context,cairo_t *cr,gdouble angle,gdouble x,gdouble y,gdouble size);
Отображает стрелку, направленную к angle .
Типичное отображение стрелки в 0, 1⁄2 π;, π; и 3⁄2 π:
Параметры
context | контекст GtkStyleContext | |
cr | контекст cairo_t | |
angle | угол стрелки от 0 до 2 * | |
x | координата X начала области отрисовки | |
y | координата Y начала области отрисовки | |
size | сторона квадрата области отрисовки |
С версии: 3.0
gtk_render_background ()
void gtk_render_background (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает фон элемента.
Типичное отображение фона, демонстрирующее эффект background-image, border-width и border-radius.
Параметры
context | контекст GtkStyleContext | |
cr | контекст cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника |
С версии: 3.0.
gtk_render_background_get_clip ()
void gtk_render_background_get_clip (GtkStyleContext *context,gdouble x,gdouble y,gdouble width,gdouble height,GdkRectangle *out_clip);
Возвращает область, на которую повлияет (т.е. будет нарисована) функция gtk_render_background() для заданного context и прямоугольника.
Параметры
context | контекст GtkStyleContext | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника | |
out_clip | место для возврата области обрезки. | [out] |
С версии: 3.20
gtk_render_check ()
void gtk_render_check (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает галочку (как в кнопке GtkCheckButton).
Состояние GTK_STATE_FLAG_CHECKED определяет, установлена ли галочка, а GTK_STATE_FLAG_INCONSISTENT определяет, нужно ли её отображать как неопределённую.
Типичное отображение галочки:
Параметры
context | контекст GtkStyleContext | |
cr | контекст cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника |
С версии: 3.0
gtk_render_expander ()
void gtk_render_expander (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает раскрывающееся меню (как используется в GtkTreeView и GtkExpander) в области, определенной x , y , width , height . Состояние GTK_STATE_FLAG_CHECKED определяет, свёрнуто или развернуто раскрывающееся меню.
Типичное отображение раскрывающегося меню:
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника |
С: 3.0
gtk_render_extension ()
void gtk_render_extension (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height,GtkPositionType gap_side);
Отображает расширение (как, например, вкладку в GtkNotebook) в прямоугольнике, определяемом x , y , width , height . Сторона, к которой примыкает расширение, определяется gap_side .
Типичное отображение расширения:
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника | |
gap_side | сторона, где находится зазор |
С: 3.0
gtk_render_focus ()
void gtk_render_focus (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает индикатор фокуса в прямоугольнике, определяемом x , y , width , height .
Типичное отображение фокуса:
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника |
С: 3.0
gtk_render_frame ()
void gtk_render_frame (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает рамку вокруг прямоугольника, определяемого x , y , width , height .
Примеры отображения рамок, демонстрирующие эффект border-image, border-color, border-width, border-radius и соединений:
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника |
С: 3.0
gtk_render_frame_gap ()
void gtk_render_frame_gap (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height,GtkPositionType gap_side,gdouble xy0_gap,gdouble xy1_gap);
Отображает рамку вокруг прямоугольника, определенного (x , y , width , height ), оставляя зазор с одной стороны. xy0_gap и xy1_gap означают координаты X для зазоров GTK_POS_TOP и GTK_POS_BOTTOM, и координаты Y для зазоров GTK_POS_LEFT и GTK_POS_RIGHT.
Типичное отображение рамки с зазором:
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | координата X начала прямоугольника | |
y | координата Y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника | |
gap_side | сторона, где находится зазор | |
xy0_gap | начальная координата (X или Y в зависимости от | |
xy1_gap | конечная координата (X или Y в зависимости от |
С: 3.0
gtk_render_handle ()
void gtk_render_handle (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает маркер (как у GtkHandleBox, GtkPaned и GtkWindow’s resize grip), в прямоугольнике, определяемом x , y , width , height .
Маркеры, отображаемые для разделителей и маркеров:
Параметры
context | ||
cr | a cairo_t | |
x | Координата X начала прямоугольника | |
y | Координата Y начала прямоугольника | |
width | Ширина прямоугольника | |
height | Высота прямоугольника |
С момента: 3.0
gtk_render_layout ()
void gtk_render_layout (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,PangoLayout *layout);
Отображает layout в координатах x , y
Параметры
context | ||
cr | a cairo_t | |
x | Координата X начала | |
y | Координата Y начала | |
layout | отображаемый PangoLayout |
С момента: 3.0
gtk_render_line ()
void gtk_render_line (GtkStyleContext *context,cairo_t *cr,gdouble x0,gdouble y0,gdouble x1,gdouble y1);
Отображает линию от (x0, y0) до (x1, y1).
Параметры
context | ||
cr | a cairo_t | |
x0 | Координата X начала линии | |
y0 | Координата Y начала линии | |
x1 | Координата X конца линии | |
y1 | Координата Y конца линии |
С момента: 3.0
gtk_render_option ()
void gtk_render_option (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает маркер опции (как у GtkRadioButton), состояние GTK_STATE_FLAG_CHECKED определяет, включена ли опция, а GTK_STATE_FLAG_INCONSISTENT указывает, должна ли она быть помечена как неопределённая.
Типичное отображение маркера опции:
Параметры
context | ||
cr | a cairo_t | |
x | Координата X начала прямоугольника | |
y | Координата Y начала прямоугольника | |
width | Ширина прямоугольника | |
height | Высота прямоугольника |
С момента: 3.0
gtk_render_slider ()
void gtk_render_slider (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height,GtkOrientation orientation);
Отображает ползунок (как в GtkScale) в прямоугольнике, определяемом x , y , width , height . orientation определяет, вертикальный или горизонтальный ползунок.
Типичное отображение ползунка:
Параметры
context | ||
cr | a cairo_t | |
x | Координата X начала прямоугольника | |
y | Координата Y начала прямоугольника | |
width | Ширина прямоугольника | |
height | Высота прямоугольника | |
orientation | ориентация ползунка |
С момента: 3.0
gtk_render_activity ()
void gtk_render_activity (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,gdouble width,gdouble height);
Отображает индикатор активности (например, в GtkSpinner). Состояние GTK_STATE_FLAG_CHECKED определяет, есть ли активность.
Параметры
context | ||
cr | a cairo_t | |
x | Координата X начала прямоугольника | |
y | Координата Y начала прямоугольника | |
width | Ширина прямоугольника | |
height | Высота прямоугольника |
С момента: 3.0
gtk_render_icon_pixbuf ()
GdkPixbuf * gtk_render_icon_pixbuf (GtkStyleContext *context,const GtkIconSource *source,GtkIconSize size);
gtk_render_icon_pixbuf устарел начиная с версии 3.10 и не должен использоваться в новом коде.
Используйте gtk_icon_theme_load_icon() вместо этого.
Отображает значок, указанный в source, в заданной size, возвращая результат в виде pixbuf.
Параметры
context | объект GtkStyleContext | |
source | объект GtkIconSource, определяющий отображаемый значок | |
size | размер (GtkIconSize) для отображения значка. Значение | [type int] |
Возвращаемое значение
новый созданный объект GdkPixbuf, содержащий отрисованный значок.
[transfer full]
С: 3.0
gtk_render_icon_surface ()
void gtk_render_icon_surface (GtkStyleContext *context,cairo_t *cr,cairo_surface_t *surface,gdouble x,gdouble y);
Отображает значок в surface в заданных координатах x и y.
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
surface | объект cairo_surface_t, содержащий значок для рисования | |
x | координата X для | |
y | координата Y для |
С: 3.10
gtk_render_icon ()
void gtk_render_icon (GtkStyleContext *context,cairo_t *cr,GdkPixbuf *pixbuf,gdouble x,gdouble y);
Отображает значок в pixbuf в заданных координатах x и y.
Эта функция отобразит значок в pixbuf точно в его размерах, независимо от коэффициентов масштабирования, что может быть неподходящим при отрисовке на дисплеях с высокой плотностью пикселей.
Если у вас уже есть поверхность Cairo, то, вероятно, вам следует использовать gtk_render_icon_surface().
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
pixbuf | объект GdkPixbuf, содержащий значок для рисования | |
x | координата X для | |
y | координата Y для |
С: 3.2
gtk_render_insertion_cursor ()
void gtk_render_insertion_cursor (GtkStyleContext *context,cairo_t *cr,gdouble x,gdouble y,PangoLayout *layout,int index,PangoDirection direction);
Отображает курсор вставки на cr в указанном индексе layout.
Параметры
context | объект GtkStyleContext | |
cr | объект cairo_t | |
x | начало координат X | |
y | начало координат Y | |
layout | объект PangoLayout текста | |
index | индекс в PangoLayout | |
direction | направление текста, PangoDirection |
С: 3.4
Типы и значения
GTK_STYLE_PROPERTY_BACKGROUND_COLOR
#define GTK_STYLE_PROPERTY_BACKGROUND_COLOR "background-color"
Свойство, содержащее цвет фона рендеряемых элементов в формате GdkRGBA.
GTK_STYLE_PROPERTY_COLOR
#define GTK_STYLE_PROPERTY_COLOR "color"
Свойство, содержащее цвет переднего плана рендеряемых элементов в формате GdkRGBA.
GTK_STYLE_PROPERTY_FONT
#define GTK_STYLE_PROPERTY_FONT "font"
Свойство, содержащее свойства шрифта, используемые при рендеринге текста, в формате PangoFontDescription.
GTK_STYLE_PROPERTY_MARGIN
#define GTK_STYLE_PROPERTY_MARGIN "margin"
Свойство, содержащее отступ рендеряемого элемента в формате GtkBorder. Отступ определяется как расстояние между границей элемента и окружающими элементами. Он находится вне размеров размещения GtkWidget и является самым внешним свойством отступа в серии padding/border/margin.
GTK_STYLE_PROPERTY_PADDING
#define GTK_STYLE_PROPERTY_PADDING "padding"
Свойство, содержащее внутренний отступ рендеряемого элемента в формате GtkBorder. Внутренний отступ определяется как расстояние между внутренней частью границы элемента и его дочерними элементами. Это самое внутреннее свойство отступа в серии padding/border/margin.
GTK_STYLE_PROPERTY_BORDER_WIDTH
#define GTK_STYLE_PROPERTY_BORDER_WIDTH "border-width"
Свойство, содержащее ширину рамки рендеряемого элемента в пикселях в формате GtkBorder. Рамка является промежуточным свойством отступа в серии padding/border/margin.
gtk_render_frame() использует это свойство для определения ширины линии рамки, поэтому GtkWidgets, рендерящие рамки, могут потребовать добавить этот отступ при запросе размера
GTK_STYLE_PROPERTY_BORDER_RADIUS
#define GTK_STYLE_PROPERTY_BORDER_RADIUS "border-radius"
Свойство, содержащее радиус скругления рамки рендеряемого элемента в пикселях в формате gint.
GTK_STYLE_PROPERTY_BORDER_STYLE
#define GTK_STYLE_PROPERTY_BORDER_STYLE "border-style"
Свойство, содержащее стиль рамки элемента в формате GtkBorderStyle.
GTK_STYLE_PROPERTY_BORDER_COLOR
#define GTK_STYLE_PROPERTY_BORDER_COLOR "border-color"
Свойство, содержащее цвет рамки элемента в формате GdkRGBA.
GTK_STYLE_PROPERTY_BACKGROUND_IMAGE
#define GTK_STYLE_PROPERTY_BACKGROUND_IMAGE "background-image"
Свойство, содержащее фон элемента в формате cairo_pattern_t.
Перечисление GtkBorderStyle
Описывает, как должна рендериться граница UI-элемента.
Члены
GTK_BORDER_STYLE_NONE | Границы нет | |
GTK_BORDER_STYLE_SOLID | Одна сплошная линия | |
GTK_BORDER_STYLE_INSET | Создает впечатление, что содержимое углублено в холст | |
GTK_BORDER_STYLE_OUTSET | Создает впечатление, что содержимое выступает из холста | |
GTK_BORDER_STYLE_HIDDEN | То же, что | |
GTK_BORDER_STYLE_DOTTED | Серия точек | |
GTK_BORDER_STYLE_DASHED | Серия штрихов с квадратными концами | |
GTK_BORDER_STYLE_DOUBLE | Две параллельные линии с промежутком | |
GTK_BORDER_STYLE_GROOVE | Создает впечатление, что граница вырезана в холст | |
GTK_BORDER_STYLE_RIDGE | Создает впечатление, что граница выступает из холста |
GTK_STYLE_CLASS_ACCELERATOR
#define GTK_STYLE_CLASS_ACCELERATOR "accelerator"
CSS-класс для соответствия активатору.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_ARROW
#define GTK_STYLE_CLASS_ARROW "arrow"
CSS-класс, используемый при рендеринге стрелки.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_BACKGROUND
#define GTK_STYLE_CLASS_BACKGROUND "background"
CSS-класс для соответствия фону окна.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_BOTTOM
#define GTK_STYLE_CLASS_BOTTOM "bottom"
CSS-класс для указания области внизу виджета.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_BUTTON
#define GTK_STYLE_CLASS_BUTTON "button"
CSS-класс для соответствия кнопкам.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_CALENDAR
#define GTK_STYLE_CLASS_CALENDAR "calendar"
CSS-класс для соответствия календарям.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_CELL
#define GTK_STYLE_CLASS_CELL "cell"
CSS-класс для соответствия содержимому, отображаемому в ячейках.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_COMBOBOX_ENTRY
#define GTK_STYLE_CLASS_COMBOBOX_ENTRY "combobox-entry"
CSS-класс для соответствия элементам выпадающего списка.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_CONTEXT_MENU
#define GTK_STYLE_CLASS_CONTEXT_MENU "context-menu"
CSS-класс для соответствия контекстным меню.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_CHECK
#define GTK_STYLE_CLASS_CHECK "check"
CSS-класс для соответствия флажкам.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_CSD
#define GTK_STYLE_CLASS_CSD "csd"
CSS-класс, добавляемый к окнам, имеющим декорации на стороне клиента.
Обратитесь к документации отдельных виджетов для использованных стилей.
Since: 3.14
GTK_STYLE_CLASS_CURSOR_HANDLE
#define GTK_STYLE_CLASS_CURSOR_HANDLE "cursor-handle"
CSS-класс, используемый при рендеринге маркерной ручки для выделения текста.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_DEFAULT
#define GTK_STYLE_CLASS_DEFAULT "default"
CSS-класс для соответствия стандартному виджету.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_DESTRUCTIVE_ACTION
#define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action"
CSS-класс, используемый, когда действие (обычно кнопка) предназначено для удаления или уничтожения видимого для пользователя элемента.
Обратитесь к документации отдельных виджетов для использованных стилей.
Since: 3.12
GTK_STYLE_CLASS_DIM_LABEL
#define GTK_STYLE_CLASS_DIM_LABEL "dim-label"
CSS-класс для соответствия затемненным меткам.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_DND
#define GTK_STYLE_CLASS_DND "dnd"
CSS-класс для индикатора перетаскивания.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_DOCK
#define GTK_STYLE_CLASS_DOCK "dock"
CSS-класс, определяющий область док-панели.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_ENTRY
#define GTK_STYLE_CLASS_ENTRY "entry"
CSS-класс для соответствия полям ввода текста.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_ERROR
#define GTK_STYLE_CLASS_ERROR "error"
CSS-класс для области отображения сообщения об ошибке, например, в информационных строках.
Обратитесь к документации отдельных виджетов для использованных стилей.
GTK_STYLE_CLASS_EXPANDER
#define GTK_STYLE_CLASS_EXPANDER "expander"
Класс CSS, определяющий раскрывающийся элемент, например, в деревьях.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_FRAME
#define GTK_STYLE_CLASS_FRAME "frame"
Класс CSS, определяющий рамку, ограничивающую содержимое, например, GtkFrame или рамку области прокрутки вокруг области прокручиваемого содержимого.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_FLAT
#define GTK_STYLE_CLASS_FLAT "flat"
Класс CSS, который добавляется, когда виджеты, которые обычно имеют рамку или границу (например, кнопки или поля ввода), должны отображаться без неё.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.14
GTK_STYLE_CLASS_GRIP
#define GTK_STYLE_CLASS_GRIP "grip"
Класс CSS, определяющий маркер изменения размера.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_HEADER
#define GTK_STYLE_CLASS_HEADER "header"
Класс CSS для соответствия элементу заголовка.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_HIGHLIGHT
#define GTK_STYLE_CLASS_HIGHLIGHT "highlight"
Класс CSS, определяющий выделенную область, например, заголовки в помощниках и календарях.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_HORIZONTAL
#define GTK_STYLE_CLASS_HORIZONTAL "horizontal"
Класс CSS для горизонтально расположенных виджетов.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_IMAGE
#define GTK_STYLE_CLASS_IMAGE "image"
Класс CSS, определяющий изображение, например, значок в поле ввода.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_INFO
#define GTK_STYLE_CLASS_INFO "info"
Класс CSS для области, отображающей информационное сообщение, например, в информационных панелях.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_INLINE_TOOLBAR
#define GTK_STYLE_CLASS_INLINE_TOOLBAR "inline-toolbar"
Класс CSS для соответствия встроенным панелям инструментов.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_INSERTION_CURSOR
#define GTK_STYLE_CLASS_INSERTION_CURSOR "insertion-cursor"
Класс CSS, используемый при отрисовке маркера перетаскивания для позиции вставки курсора.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_LABEL
#define GTK_STYLE_CLASS_LABEL "label"
Класс CSS для соответствия меткам.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.16
GTK_STYLE_CLASS_LEFT
#define GTK_STYLE_CLASS_LEFT "left"
Класс CSS, указывающий область слева от виджета.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_LEVEL_BAR
#define GTK_STYLE_CLASS_LEVEL_BAR "level-bar"
Класс CSS, используемый при отрисовке индикатора уровня, например, уровня заряда батареи или надежности пароля.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_LINKED
#define GTK_STYLE_CLASS_LINKED "linked"
Класс CSS для соответствия связанной области, например, блоку, содержащему кнопки, относящиеся к одному элементу управления.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_LIST
#define GTK_STYLE_CLASS_LIST "list"
Класс CSS для соответствия спискам.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_LIST_ROW
#define GTK_STYLE_CLASS_LIST_ROW "list-row"
Класс CSS для соответствия строкам списка.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_MARK
#define GTK_STYLE_CLASS_MARK "mark"
Класс CSS, определяющий метки в виджете, например, в шкалах.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_MENU
#define GTK_STYLE_CLASS_MENU "menu"
Класс CSS для соответствия меню.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_MENUBAR
#define GTK_STYLE_CLASS_MENUBAR "menubar"
Класс CSS для полос меню.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_MENUITEM
#define GTK_STYLE_CLASS_MENUITEM "menuitem"
Класс CSS для соответствия элементам меню.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_MESSAGE_DIALOG
#define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog"
Класс CSS, добавляемый к диалоговым окнам с сообщениями.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.14
GTK_STYLE_CLASS_MONOSPACE
#define GTK_STYLE_CLASS_MONOSPACE "monospace"
Класс CSS, добавляемый к представлению текста, которое должно использовать моноширинный шрифт.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.16
GTK_STYLE_CLASS_NEEDS_ATTENTION
#define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention"
Класс CSS, используемый, когда элемент требует внимания пользователя, например, кнопка в переключателе стеков, соответствующая скрытой странице, состояние которой изменилось.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.12
GTK_STYLE_CLASS_NOTEBOOK
#define GTK_STYLE_CLASS_NOTEBOOK "notebook"
Класс CSS, определяющий блокнот.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_OSD
#define GTK_STYLE_CLASS_OSD "osd"
Класс CSS, используемый при отрисовке элемента OSD (On Screen Display) поверх другого контейнера.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_OVERSHOOT
#define GTK_STYLE_CLASS_OVERSHOOT "overshoot"
Класс CSS, добавляемый к визуальным подсказкам, появляющимся при попытке прокрутки за пределы области прокрутки.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.14
GTK_STYLE_CLASS_PANE_SEPARATOR
#define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator"
Класс CSS для разделителя панелей, например, в GtkPaned.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_PAPER
#define GTK_STYLE_CLASS_PAPER "paper"
Класс CSS, добавляемый к областям, которые должны выглядеть как бумага.
Используется в предварительных просмотрах печати, и рекомендуется стилизовать его как чёрный текст на белом фоне.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.16
GTK_STYLE_CLASS_POPUP
#define GTK_STYLE_CLASS_POPUP "popup"
Класс CSS, добавляемый к верхним окнам, используемым для меню.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.14
GTK_STYLE_CLASS_POPOVER
#define GTK_STYLE_CLASS_POPOVER "popover"
Класс CSS, соответствующий всплывающим подсказкам.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
С: 3.14
GTK_STYLE_CLASS_PRIMARY_TOOLBAR
#define GTK_STYLE_CLASS_PRIMARY_TOOLBAR "primary-toolbar"
Класс CSS для соответствия основным панелям инструментов.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_PROGRESSBAR
#define GTK_STYLE_CLASS_PROGRESSBAR "progressbar"
Класс CSS, используемый для отображения хода выполнения в виде индикатора прогресса.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_PULSE
#define GTK_STYLE_CLASS_PULSE "pulse"
Класс CSS, используемый при отрисовке пульсации в индикаторе прогресса с неопределённым значением.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_QUESTION
#define GTK_STYLE_CLASS_QUESTION "question"
Класс CSS для области, отображающей вопрос пользователю, например, в информационных панелях.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_RADIO
#define GTK_STYLE_CLASS_RADIO "radio"
Класс CSS для соответствия радиокнопкам.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_RAISED
#define GTK_STYLE_CLASS_RAISED "raised"
Класс CSS для соответствия поднятому элементу управления, например, поднятой кнопке на панели инструментов.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_READ_ONLY
#define GTK_STYLE_CLASS_READ_ONLY "read-only"
Класс CSS, используемый для обозначения состояния только для чтения.
Обратитесь к документации отдельных виджетов для используемых классов стилей.
GTK_STYLE_CLASS_RIGHT
#define GTK_STYLE_CLASS_RIGHT "right"
Класс CSS для обозначения области справа от виджета.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_RUBBERBAND
#define GTK_STYLE_CLASS_RUBBERBAND "rubberband"
Класс CSS для соответствия прямоугольнику выделения резиновой ленты.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SCALE
#define GTK_STYLE_CLASS_SCALE "scale"
Класс CSS для соответствия виджетам шкалы.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above"
Класс CSS для соответствия виджетам шкалы с метками, все метки находятся сверху для горизонтальной GtkScale, слева для вертикальной GtkScale.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below"
Класс CSS для соответствия виджетам шкалы с метками, все метки находятся снизу для горизонтальной GtkScale, справа для вертикальной GtkScale.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SCROLLBAR
#define GTK_STYLE_CLASS_SCROLLBAR "scrollbar"
Класс CSS для соответствия полосам прокрутки.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SCROLLBARS_JUNCTION
#define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION "scrollbars-junction"
Класс CSS для соответствия области соединения между горизонтальной и вертикальной полосой прокрутки, когда они обе отображаются.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SEPARATOR
#define GTK_STYLE_CLASS_SEPARATOR "separator"
Класс CSS для разделителя.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SIDEBAR
#define GTK_STYLE_CLASS_SIDEBAR "sidebar"
Класс CSS, определяющий боковую панель, например, левую сторону в диалоге выбора файла.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SLIDER
#define GTK_STYLE_CLASS_SLIDER "slider"
Класс CSS для соответствия ползункам.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SPINBUTTON
#define GTK_STYLE_CLASS_SPINBUTTON "spinbutton"
Класс CSS, определяющий спин-кнопку.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_SPINNER
#define GTK_STYLE_CLASS_SPINNER "spinner"
Класс CSS для отображения активности как «спиннера».
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_STATUSBAR
#define GTK_STYLE_CLASS_STATUSBAR "statusbar"
Класс CSS для соответствия строкам состояния.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.16
GTK_STYLE_CLASS_SUBTITLE
#define GTK_STYLE_CLASS_SUBTITLE "subtitle"
Класс CSS, используемый для подзаголовка в строке заголовка окна верхнего уровня.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.14
GTK_STYLE_CLASS_SUGGESTED_ACTION
#define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action"
Класс CSS, используемый, когда действие (обычно кнопка) является основным предлагаемым действием в определенном контексте.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.12
GTK_STYLE_CLASS_TITLE
#define GTK_STYLE_CLASS_TITLE "title"
Класс CSS, используемый для метки заголовка в строке заголовка окна верхнего уровня.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.14
GTK_STYLE_CLASS_TITLEBAR
#define GTK_STYLE_CLASS_TITLEBAR "titlebar"
Класс CSS, используемый при отрисовке строки заголовка в окне верхнего уровня.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_TOOLBAR
#define GTK_STYLE_CLASS_TOOLBAR "toolbar"
Класс CSS для соответствия панелям инструментов.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_TOOLTIP
#define GTK_STYLE_CLASS_TOOLTIP "tooltip"
Класс CSS для соответствия всплывающим подсказкам.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_TOUCH_SELECTION
#define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection"
Класс CSS для всплывающих окон касательного выделения в строках ввода и текстовых представлениях.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.16
GTK_STYLE_CLASS_TOP
#define GTK_STYLE_CLASS_TOP "top"
Класс CSS для обозначения области вверху виджета.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_TROUGH
#define GTK_STYLE_CLASS_TROUGH "trough"
Класс CSS для соответствия желобам, как в полосах прокрутки и полосах прогресса.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_UNDERSHOOT
#define GTK_STYLE_CLASS_UNDERSHOOT "undershoot"
Класс CSS, который добавляется к визуальным подсказкам, которые происходят там, где содержимое «прокручивается» и может быть сделано видимым путем прокрутки.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.16
GTK_STYLE_CLASS_VERTICAL
#define GTK_STYLE_CLASS_VERTICAL "vertical"
Класс CSS для вертикально расположенных виджетов.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_VIEW
#define GTK_STYLE_CLASS_VIEW "view"
Класс CSS, определяющий представление, например, представления значков или деревьев.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_WARNING
#define GTK_STYLE_CLASS_WARNING "warning"
Класс CSS для области, отображающей сообщение об ошибке, например, такие в информационных строках.
Обратитесь к документации отдельных виджетов для использования стилей классов.
GTK_STYLE_CLASS_WIDE
#define GTK_STYLE_CLASS_WIDE "wide"
Класс CSS, указывающий, что элемент пользовательского интерфейса должен быть «широким». Используется GtkPaned.
Обратитесь к документации отдельных виджетов для использования стилей классов.
С момента: 3.16
GTK_STYLE_REGION_COLUMN
#define GTK_STYLE_REGION_COLUMN "column"
GTK_STYLE_REGION_COLUMN был устаревшим с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения столбца treeview.
GTK_STYLE_REGION_COLUMN_HEADER
#define GTK_STYLE_REGION_COLUMN_HEADER "column-header"
GTK_STYLE_REGION_COLUMN_HEADER был устаревшим с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения заголовка столбца treeview.
GTK_STYLE_REGION_ROW
#define GTK_STYLE_REGION_ROW "row"
GTK_STYLE_REGION_ROW был устаревшим с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения строки treeview.
GTK_STYLE_REGION_TAB
#define GTK_STYLE_REGION_TAB "tab"
GTK_STYLE_REGION_TAB был устаревшим с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения вкладки notebook.
GtkStyleContext
typedef struct _GtkStyleContext GtkStyleContext;
Перечисление GtkJunctionSides
Описывает, как отрисованный элемент соединяется с соседними элементами.
Элементы
GTK_JUNCTION_NONE | Нет соединений. | |
GTK_JUNCTION_CORNER_TOPLEFT | Элемент соединяется в верхнем левом углу. | |
GTK_JUNCTION_CORNER_TOPRIGHT | Элемент соединяется в верхнем правом углу. | |
GTK_JUNCTION_CORNER_BOTTOMLEFT | Элемент соединяется в нижнем левом углу. | |
GTK_JUNCTION_CORNER_BOTTOMRIGHT | Элемент соединяется в нижнем правом углу. | |
GTK_JUNCTION_TOP | Элемент соединяется по верхней стороне. | |
GTK_JUNCTION_BOTTOM | Элемент соединяется по нижней стороне. | |
GTK_JUNCTION_LEFT | Элемент соединяется по левой стороне. | |
GTK_JUNCTION_RIGHT | Элемент соединяется по правой стороне. |
Перечисление GtkRegionFlags
Описывает область внутри виджета.
Элементы
GTK_REGION_EVEN | Область имеет чётное число в наборе. | |
GTK_REGION_ODD | Область имеет нечётное число в наборе. | |
GTK_REGION_FIRST | Область является первой в наборе. | |
GTK_REGION_LAST | Область является последней в наборе. | |
GTK_REGION_ONLY | Область является единственной в наборе. | |
GTK_REGION_SORTED | Область является частью отсортированной области. |
Перечисление GtkStyleContextPrintFlags
Флаги, которые изменяют поведение gtk_style_context_to_string(). Новые значения могут быть добавлены в это перечисление.
Элементы
GTK_STYLE_CONTEXT_PRINT_NONE | ||
GTK_STYLE_CONTEXT_PRINT_RECURSE | Печать всего дерева узлов CSS, начиная с узла контекста стиля. | |
GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE | Отображение значений свойств CSS для каждого узла. |
Структура GtkBorder
struct GtkBorder {
gint16 left;
gint16 right;
gint16 top;
gint16 bottom;
};
Структура, определяющая границу вокруг прямоугольной области, которая может иметь разную ширину с каждой стороны.
Подробное описание свойств
Свойство “direction”
“direction” GtkTextDirection
Направление текста.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_TEXT_DIR_LTR
Свойство “paint-clock”
“paint-clock” GdkFrameClock *
Связанный GdkFrameClock.
Флаги: Чтение / Запись
Свойство “parent”
“parent” GtkStyleContext *
Устанавливает или получает родительский контекст стиля. Подробнее см. gtk_style_context_set_parent().
Флаги: Чтение / Запись
С: 3.4
Подробное описание сигналов
Сигнал “changed”
void user_function (GtkStyleContext *arg0, gpointer user_data)
Сигнал ::changed генерируется при изменении GtkStyleContext.
Для GtkStyleContext, возвращаемого gtk_widget_get_style_context(), может быть удобнее использовать сигнал “style-updated”.
Этот сигнал полезен при использовании слоя темы отдельно.
Параметры
user_data | Данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run First
С: 3.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.22/GtkStyleContext.html