GtkStyleContext
GtkStyleContext — Рендеринг элементов пользовательского интерфейса
Функции
| 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 запрашивает данные у всех подключенных GtkStyleProviders. Поставщики стиля могут быть подключены явно к контексту с помощью 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+ использует это для обеспечения доступности стилистической информации из GtkНастроек.
Примечание: если приоритеты совпадают, GtkStyleProvider, добавленный через gtk_style_context_add_provider(), имеет приоритет над добавленным через эту функцию.
Параметры
screen | a GdkЭкран | |
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 имен свойств/места назначения для возвращаемых значений, за которым следует |
С: 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 имен свойств/места назначения для возвращаемых значений, за которым следует |
С: 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 | объект GtkStyleContext | |
property | имя свойства стиля |
Возвращаемое значение
NULL или раздел, где было определено значение для property.
[nullable][transfer none]
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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() для "font" или дочерних свойств вместо этого.
Возвращает описание шрифта для заданного состояния. Возвращаемый объект является константным и останется действительным до срабатывания сигнала “changed”.
Параметры
context | объект GtkStyleContext | |
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 | объект GtkStyleContext. |
С: 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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
window | объект GdkWindow | |
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 | объект GtkStyleContext |
С: 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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
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 | объект GtkStyleContext | |
window | объект 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 |
Возвращает
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 |
Возвращает
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_copy ()
GtkBorder *
gtk_border_copy (const GtkBorder *border_); Копирует GtkBorder.
Параметры
border_ |
Возвращает
копию border_ .
[transfer full]
gtk_border_free ()
void
gtk_border_free (GtkBorder *border_); Освобождает GtkBorder.
Параметры
border_ |
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 | ||
cr | a 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 | ||
cr | a 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 | ||
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 | ||
cr | a 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 | ||
cr | a 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) в прямоугольнике, определяемом x , y , width , height .
Отображаемые маркеры для панелей и маркеров изменения размера:
Параметры
context | объект GtkStyleContext | |
cr | объект 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 | контекст стиля GtkStyleContext | |
cr | 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 | контекст стиля GtkStyleContext | |
cr | 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 | контекст стиля GtkStyleContext | |
cr | 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 | контекст стиля GtkStyleContext | |
cr | 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 | контекст стиля GtkStyleContext | |
cr | 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] |
С: 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 | ||
cr | a cairo_t | |
surface | a 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 в точном размере, независимо от коэффициентов масштабирования, что может быть неподходящим при отрисовке на дисплеях с высокой плотностью пикселей.
Вероятно, вы захотите использовать gtk_render_icon_surface() вместо этого, если у вас уже есть поверхность Cairo.
Параметры
context | ||
cr | a cairo_t | |
pixbuf | a 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 | ||
cr | a cairo_t | |
x | Начальная координата X | |
y | Начальная координата Y | |
layout | the PangoLayout текста | |
index | индекс в PangoLayout | |
direction | the 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
Описывает, как должна отображаться граница элемента пользовательского интерфейса.
Элементы
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-класс, добавляемый к окнам, у которых декорации со стороны клиента.
Обратитесь к документации отдельных виджетов для используемых стилей.
С: 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-класс, используемый, когда действие (обычно кнопка) предназначено для удаления или уничтожения чего-либо видимого для пользователя.
Обратитесь к документации отдельных виджетов для используемых стилей.
С: 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 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения столбца представления дерева.
GTK_STYLE_REGION_COLUMN_HEADER
#define GTK_STYLE_REGION_COLUMN_HEADER "column-header"
GTK_STYLE_REGION_COLUMN_HEADER устарел с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения заголовка столбца представления дерева.
GTK_STYLE_REGION_ROW
#define GTK_STYLE_REGION_ROW "row"
GTK_STYLE_REGION_ROW устарел с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения строки представления дерева.
GTK_STYLE_REGION_TAB
#define GTK_STYLE_REGION_TAB "tab"
GTK_STYLE_REGION_TAB устарел с версии 3.20 и не должен использоваться в новом коде.
Не используйте области.
Имя области виджета для определения вкладки книжки.
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 *stylecontext, gpointer 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.20/GtkStyleContext.html