Spec-Zone.ru › GTK 3.24

GtkStyleContext

GtkStyleContext — Отрисовка элементов пользовательского интерфейса

Функции

GtkStyleContext * gtk_style_context_new ()
void gtk_style_context_add_provider ()
void gtk_style_context_add_provider_for_screen ()
void gtk_style_context_get ()
GtkTextDirection gtk_style_context_get_direction ()
GtkJunctionSides gtk_style_context_get_junction_sides ()
GtkStyleContext * gtk_style_context_get_parent ()
const GtkWidgetPath * gtk_style_context_get_path ()
void gtk_style_context_get_property ()
GdkScreen * gtk_style_context_get_screen ()
GdkFrameClock * gtk_style_context_get_frame_clock ()
GtkStateFlags gtk_style_context_get_state ()
void gtk_style_context_get_style ()
void gtk_style_context_get_style_property ()
void gtk_style_context_get_style_valist ()
void gtk_style_context_get_valist ()
GtkCssSection * gtk_style_context_get_section ()
void gtk_style_context_get_color ()
void gtk_style_context_get_background_color ()
void gtk_style_context_get_border_color ()
void gtk_style_context_get_border ()
void gtk_style_context_get_padding ()
void gtk_style_context_get_margin ()
const PangoFontDescription * gtk_style_context_get_font ()
void gtk_style_context_invalidate ()
gboolean gtk_style_context_state_is_running ()
gboolean gtk_style_context_lookup_color ()
GtkIconSet * gtk_style_context_lookup_icon_set ()
void gtk_style_context_notify_state_change ()
void gtk_style_context_pop_animatable_region ()
void gtk_style_context_push_animatable_region ()
void gtk_style_context_cancel_animations ()
void gtk_style_context_scroll_animations ()
void gtk_style_context_remove_provider ()
void gtk_style_context_remove_provider_for_screen ()
void gtk_style_context_reset_widgets ()
void gtk_style_context_set_background ()
void gtk_style_context_restore ()
void gtk_style_context_save ()
void gtk_style_context_set_direction ()
void gtk_style_context_set_junction_sides ()
void gtk_style_context_set_parent ()
void gtk_style_context_set_path ()
void gtk_style_context_add_class ()
void gtk_style_context_remove_class ()
gboolean gtk_style_context_has_class ()
GList * gtk_style_context_list_classes ()
void gtk_style_context_add_region ()
void gtk_style_context_remove_region ()
gboolean gtk_style_context_has_region ()
GList * gtk_style_context_list_regions ()
void gtk_style_context_set_screen ()
void gtk_style_context_set_frame_clock ()
void gtk_style_context_set_state ()
void gtk_style_context_set_scale ()
gint gtk_style_context_get_scale ()
char * gtk_style_context_to_string ()
GtkBorder * gtk_border_new ()
GtkBorder * gtk_border_copy ()
void gtk_border_free ()
void gtk_render_arrow ()
void gtk_render_background ()
void gtk_render_background_get_clip ()
void gtk_render_check ()
void gtk_render_expander ()
void gtk_render_extension ()
void gtk_render_focus ()
void gtk_render_frame ()
void gtk_render_frame_gap ()
void gtk_render_handle ()
void gtk_render_layout ()
void gtk_render_line ()
void gtk_render_option ()
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 * экран Чтение / Запись

Сигналы

void изменён Выполнить первым

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

#define GTK_STYLE_PROPERTY_BACKGROUND_COLOR
#define GTK_STYLE_PROPERTY_COLOR
#define GTK_STYLE_PROPERTY_FONT
#define GTK_STYLE_PROPERTY_MARGIN
#define GTK_STYLE_PROPERTY_PADDING
#define GTK_STYLE_PROPERTY_BORDER_WIDTH
#define GTK_STYLE_PROPERTY_BORDER_RADIUS
#define GTK_STYLE_PROPERTY_BORDER_STYLE
#define GTK_STYLE_PROPERTY_BORDER_COLOR
#define GTK_STYLE_PROPERTY_BACKGROUND_IMAGE
enum GtkBorderStyle
#define GTK_STYLE_CLASS_ACCELERATOR
#define GTK_STYLE_CLASS_ARROW
#define GTK_STYLE_CLASS_BACKGROUND
#define GTK_STYLE_CLASS_BOTTOM
#define GTK_STYLE_CLASS_BUTTON
#define GTK_STYLE_CLASS_CALENDAR
#define GTK_STYLE_CLASS_CELL
#define GTK_STYLE_CLASS_COMBOBOX_ENTRY
#define GTK_STYLE_CLASS_CONTEXT_MENU
#define GTK_STYLE_CLASS_CHECK
#define GTK_STYLE_CLASS_CSD
#define GTK_STYLE_CLASS_CURSOR_HANDLE
#define GTK_STYLE_CLASS_DEFAULT
#define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION
#define GTK_STYLE_CLASS_DIM_LABEL
#define GTK_STYLE_CLASS_DND
#define GTK_STYLE_CLASS_DOCK
#define GTK_STYLE_CLASS_ENTRY
#define GTK_STYLE_CLASS_ERROR
#define GTK_STYLE_CLASS_EXPANDER
#define GTK_STYLE_CLASS_FRAME
#define GTK_STYLE_CLASS_FLAT
#define GTK_STYLE_CLASS_GRIP
#define GTK_STYLE_CLASS_HEADER
#define GTK_STYLE_CLASS_HIGHLIGHT
#define GTK_STYLE_CLASS_HORIZONTAL
#define GTK_STYLE_CLASS_IMAGE
#define GTK_STYLE_CLASS_INFO
#define GTK_STYLE_CLASS_INLINE_TOOLBAR
#define GTK_STYLE_CLASS_INSERTION_CURSOR
#define GTK_STYLE_CLASS_LABEL
#define GTK_STYLE_CLASS_LEFT
#define GTK_STYLE_CLASS_LEVEL_BAR
#define GTK_STYLE_CLASS_LINKED
#define GTK_STYLE_CLASS_LIST
#define GTK_STYLE_CLASS_LIST_ROW
#define GTK_STYLE_CLASS_MARK
#define GTK_STYLE_CLASS_MENU
#define GTK_STYLE_CLASS_MENUBAR
#define GTK_STYLE_CLASS_MENUITEM
#define GTK_STYLE_CLASS_MESSAGE_DIALOG
#define GTK_STYLE_CLASS_MONOSPACE
#define GTK_STYLE_CLASS_NEEDS_ATTENTION
#define GTK_STYLE_CLASS_NOTEBOOK
#define GTK_STYLE_CLASS_OSD
#define GTK_STYLE_CLASS_OVERSHOOT
#define GTK_STYLE_CLASS_PANE_SEPARATOR
#define GTK_STYLE_CLASS_PAPER
#define GTK_STYLE_CLASS_POPUP
#define GTK_STYLE_CLASS_POPOVER
#define GTK_STYLE_CLASS_PRIMARY_TOOLBAR
#define GTK_STYLE_CLASS_PROGRESSBAR
#define GTK_STYLE_CLASS_PULSE
#define GTK_STYLE_CLASS_QUESTION
#define GTK_STYLE_CLASS_RADIO
#define GTK_STYLE_CLASS_RAISED
#define GTK_STYLE_CLASS_READ_ONLY
#define GTK_STYLE_CLASS_RIGHT
#define GTK_STYLE_CLASS_RUBBERBAND
#define GTK_STYLE_CLASS_SCALE
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE
#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW
#define GTK_STYLE_CLASS_SCROLLBAR
#define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION
#define GTK_STYLE_CLASS_SEPARATOR
#define GTK_STYLE_CLASS_SIDEBAR
#define GTK_STYLE_CLASS_SLIDER
#define GTK_STYLE_CLASS_SPINBUTTON
#define GTK_STYLE_CLASS_SPINNER
#define GTK_STYLE_CLASS_STATUSBAR
#define GTK_STYLE_CLASS_SUBTITLE
#define GTK_STYLE_CLASS_SUGGESTED_ACTION
#define GTK_STYLE_CLASS_TITLE
#define GTK_STYLE_CLASS_TITLEBAR
#define GTK_STYLE_CLASS_TOOLBAR
#define GTK_STYLE_CLASS_TOOLTIP
#define GTK_STYLE_CLASS_TOUCH_SELECTION
#define GTK_STYLE_CLASS_TOP
#define GTK_STYLE_CLASS_TROUGH
#define GTK_STYLE_CLASS_UNDERSHOOT
#define GTK_STYLE_CLASS_VERTICAL
#define GTK_STYLE_CLASS_VIEW
#define GTK_STYLE_CLASS_WARNING
#define GTK_STYLE_CLASS_WIDE
#define GTK_STYLE_REGION_COLUMN
#define GTK_STYLE_REGION_COLUMN_HEADER
#define GTK_STYLE_REGION_ROW
#define GTK_STYLE_REGION_TAB
GtkStyleContext
enum GtkJunctionSides
enum GtkRegionFlags
enum GtkStyleContextPrintFlags
struct GtkBorder

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

    GBoxed
    ╰── GtkBorder
    GObject
    ╰── GtkStyleContext

Включаемые файлы

#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(). См. пример «Внедрение рисования» в gtk3-demo.

Классы оформления

Виджеты могут добавлять классы оформления в свой контекст, которые могут использоваться для ассоциации разных стилей по классам. В документации по отдельным виджетам перечислены используемые ими классы оформления, а также классы оформления, которые могут быть добавлены приложениями для изменения их внешнего вида.

GTK+ определяет макросы для ряда классов оформления.

Регионы оформления

Виджеты также могут добавлять регионы с флагами в свой контекст. Эта функция устарела и будет удалена в будущих обновлениях GTK+. Используйте вместо неё классы оформления.

GTK+ определяет макросы для ряда регионов оформления.

Настройка оформления в UI-библиотеках и приложениях

Если вы разрабатываете библиотеку с пользовательскими GtkWidgets, которые отображаются по-другому, чем стандартные компоненты, вам может потребоваться добавить собственный GtkStyleProvider с приоритетом GTK_STYLE_PROVIDER_PRIORITY_FALLBACK, либо GtkCssProvider, либо пользовательский объект, реализующий интерфейс GtkStyleProvider. Таким образом, темы по-прежнему могут попытаться стилизовать ваши UI-элементы по-другому, если это необходимо.

Если вы используете пользовательское оформление в приложении, вам, вероятно, нужно, чтобы ваша информация об оформлении превалировала над темой. Для этого используйте 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

a GtkStyleContext

provider

a GtkStyleProvider

priority

приоритет поставщика стилей. Чем меньше приоритет, тем раньше он будет использован при построении стиля. Обычно он находится в диапазоне от GTK_STYLE_PROVIDER_PRIORITY_FALLBACK до GTK_STYLE_PROVIDER_PRIORITY_USER

С: 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

a GtkStyleProvider

priority

приоритет поставщика стилей. Чем меньше приоритет, тем раньше он будет использован при построении стиля. Обычно он находится в диапазоне от GTK_STYLE_PROVIDER_PRIORITY_FALLBACK до GTK_STYLE_PROVIDER_PRIORITY_USER

С: 3.0

gtk_style_context_get ()

void
gtk_style_context_get (GtkStyleContext *context,
                       GtkStateFlags state,
                       ...);

Извлекает несколько значений свойств стиля из context для заданного состояния.

См. gtk_style_context_get_property() для подробностей.

Параметры

context

a GtkStyleContext

state

состояние для извлечения значений свойств

...

пары имя свойства/значение результата, за которыми следует NULL

С: 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

a GtkStyleContext

Возвращает

Направление виджета

С: 3.0

gtk_style_context_get_junction_sides ()

GtkJunctionSides
gtk_style_context_get_junction_sides (GtkStyleContext *context);

Возвращает стороны, где визуально соединяются рендеренные элементы.

Параметры

context

a GtkStyleContext

Возвращает

Стороны соединения

С: 3.0

gtk_style_context_get_parent ()

GtkStyleContext *
gtk_style_context_get_parent (GtkStyleContext *context);

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

Параметры

context

a GtkStyleContext

Возвращает

родительский контекст или NULL.

[nullable][transfer none]

С: 3.4

gtk_style_context_get_path ()

const GtkWidgetPath *
gtk_style_context_get_path (GtkStyleContext *context);

Возвращает путь виджета, используемый для сопоставления стилей.

Параметры

context

a GtkStyleContext

Возвращает

A GtkWidgetPath.

[transfer none]

С: 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

a GtkStyleContext

property

имя свойства стиля

state

состояние для получения значения свойства

value

место для возврата значения свойства стиля.

[out][transfer full]

С: 3.0

gtk_style_context_get_screen ()

GdkScreen *
gtk_style_context_get_screen (GtkStyleContext *context);

Возвращает GdkScreen, к которому прикреплён context.

Параметры

context

a GtkStyleContext

Возвращает

a GdkScreen.

[transfer none]

gtk_style_context_get_frame_clock ()

GdkFrameClock *
gtk_style_context_get_frame_clock (GtkStyleContext *context);

Возвращает GdkFrameClock, к которому прикреплён context.

Параметры

context

a GtkStyleContext

Возвращает

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

a GtkStyleContext

Возвращает

флаговые значения состояния

С: 3.0

gtk_style_context_get_style ()

void
gtk_style_context_get_style (GtkStyleContext *context,
                             ...);

Извлекает несколько свойств стиля виджета из context в соответствии с текущим стилем.

Параметры

context

a GtkStyleContext

...

пара свойства/возвращаемое значение, за которым следует NULL

С: 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

a GtkStyleContext

property_name

имя свойства стиля виджета

value

Место для возврата значения свойства

gtk_style_context_get_style_valist ()

void
gtk_style_context_get_style_valist (GtkStyleContext *context,
                                    va_list args);

Извлекает несколько свойств стиля виджета из context в соответствии с текущим стилем.

Параметры

context

a GtkStyleContext

args

va_list пар имя свойства/место возврата значения, за которым следует NULL

С: 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

a GtkStyleContext

state

состояние для получения значений свойств

args

va_list пар имя свойства/место возврата значения, за которым следует NULL

С: 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]

Возвращаемое значение

TRUE если color_name найден и разрешён, FALSE в противном случае

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

имя иконки

Возвращаемое значение

Найденный GtkIconSet или NULL.

[nullable][transfer none]

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

a GtkStyleContext

window

a GdkWindow

region_id

область, подлежащую анимации, или NULL. См. gtk_style_context_push_animatable_region().

[allow-none]

state

состояние, для которого необходимо инициировать переход

state_value

TRUE если state — это состояние, к которому мы переходим, FALSE если мы от него отходим

С: 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

a 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

a 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

a GtkStyleContext

region_id

область анимации для остановки, или NULL. См. gtk_style_context_push_animatable_region().

[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

a GtkStyleContext

window

a GdkWindow, ранее использованный в gtk_style_context_notify_state_change()

dx

Сдвиг по оси X

dy

Сдвиг по оси Y

С: 3.0

gtk_style_context_remove_provider ()

void
gtk_style_context_remove_provider (GtkStyleContext *context,
                                   GtkStyleProvider *provider);

Удаляет provider из списка поставщиков стилей в context.

Параметры

context

a GtkStyleContext

provider

a GtkStyleProvider

С: 3.0

gtk_style_context_remove_provider_for_screen ()

void
gtk_style_context_remove_provider_for_screen
                               (GdkScreen *screen,
                                GtkStyleProvider *provider);

Удаляет provider из глобального списка поставщиков стилей в screen .

Параметры

screen

экземпляр GdkScreen

provider

экземпляр GtkStyleProvider

С момента: 3.0

gtk_style_context_reset_widgets ()

void
gtk_style_context_reset_widgets (GdkScreen *screen);

Эта функция пересчитывает стили для всех виджетов под конкретным GdkScreen. Это полезно, когда изменился какой-либо глобальный параметр, влияющий на внешний вид всех виджетов, потому что при получении виджетом нового стиля он перерисуется и пересчитает любые кэшированные данные о его внешнем виде. Например, используется при изменении цветовой схемы в связанном объекте GtkSettings.

Параметры

screen

экземпляр GdkScreen

С момента: 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

экземпляр GtkStyleContext

window

экземпляр GdkWindow

С момента: 3.0

gtk_style_context_restore ()

void
gtk_style_context_restore (GtkStyleContext *context);

Восстанавливает состояние context до предыдущей стадии. Смотрите gtk_style_context_save().

Параметры

context

экземпляр GtkStyleContext

С момента: 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

экземпляр GtkStyleContext

С момента: 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

экземпляр GtkStyleContext

direction

новое направление.

С момента: 3.0

gtk_style_context_set_junction_sides ()

void
gtk_style_context_set_junction_sides (GtkStyleContext *context,
                                      GtkJunctionSides sides);

Устанавливает стороны, где отрисовываемые элементы (в основном через gtk_render_frame()) будут визуально соединяться с другими визуальными элементами.

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

Ожидается, что виджеты-контейнеры будут устанавливать подсказки соединения соответствующим образом для своих дочерних элементов, поэтому обычно нет необходимости вручную вызывать эту функцию.

Параметры

context

экземпляр GtkStyleContext

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

экземпляр GtkStyleContext

parent

новый родитель или NULL.

[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

a GtkStyleContext

path

a GtkWidgetPath

С версии: 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

a GtkStyleContext

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

a GtkStyleContext

class_name

имя класса для удаления

С версии: 3.0

gtk_style_context_has_class ()

gboolean
gtk_style_context_has_class (GtkStyleContext *context,
                             const gchar *class_name);

Возвращает TRUE , если context в данный момент имеет заданное имя класса.

Параметры

context

a GtkStyleContext

class_name

имя класса

Возвращает

TRUE , если context имеет class_name определено

С версии: 3.0

gtk_style_context_list_classes ()

GList *
gtk_style_context_list_classes (GtkStyleContext *context);

Возвращает список классов, определённых в данный момент в context .

Параметры

context

a GtkStyleContext

Возвращает

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

a GtkStyleContext

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

a GtkStyleContext

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

a GtkStyleContext

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 GtkStyleContext

Возвращает

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

a GtkStyleContext

screen

a GdkScreen

С: 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

a GdkFrameClock

frame_clock

a GdkFrameClock

С: 3.8

gtk_style_context_set_state ()

void
gtk_style_context_set_state (GtkStyleContext *context,
                             GtkStateFlags flags);

Устанавливает состояние для сопоставления стилей.

Параметры

context

a GtkStyleContext

flags

состояние для представления

С: 3.0

gtk_style_context_set_scale ()

void
gtk_style_context_set_scale (GtkStyleContext *context,
                             gint scale);

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

Параметры

context

a GtkStyleContext

scale

масштаб

С: 3.10

gtk_style_context_get_scale ()

gint
gtk_style_context_get_scale (GtkStyleContext *context);

Возвращает масштаб, используемый для ресурсов.

Параметры

context

a GtkStyleContext

Возвращает

масштаб

С: 3.10

gtk_style_context_to_string ()

char *
gtk_style_context_to_string (GtkStyleContext *context,
                             GtkStyleContextPrintFlags flags);

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

Строковое представление всегда включает информацию об имени, состоянии, идентификаторе, видимости и классах стилей узла CSS, который лежит в основе context. В зависимости от флагов может быть включена дополнительная информация.

Эта функция предназначена для тестирования и отладки реализации CSS в GTK+. Нет гарантий относительно формата возвращаемой строки, она может меняться.

Параметры

context

a GtkStyleContext

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_

a GtkBorder

Возвращает

копию border_.

[transfer full]

gtk_border_free ()

void
gtk_border_free (GtkBorder *border_);

Освобождает GtkBorder.

Параметры

border_

a 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 * G_PI, где 0 — стрелка, направленная на север

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);

gtk_render_frame_gap устарел начиная с версии 3.24 и не должен использоваться в новом коде.

Используйте gtk_render_frame() вместо этого. Темы могут создавать зазоры, опуская границы с помощью CSS.

Отображает рамку вокруг прямоугольника, заданного (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 в зависимости от gap_side) для зазора

xy1_gap

конечная координата (X или Y в зависимости от gap_side) для зазора

С версии: 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

a GtkStyleContext

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

a GtkStyleContext

cr

a cairo_t

x

Координата X

y

Координата Y

layout

the 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

a GtkStyleContext

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

a GtkStyleContext

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

a GtkStyleContext

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

a GtkStyleContext

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

a GtkStyleContext

source

the GtkIconSource определяющий отображаемый значок

size

размер (GtkIconSize) для отображения значка. Значение (GtkIconSize) -1 означает отображение в размере источника без масштабирования.

[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

a GtkStyleContext

cr

a cairo_t

surface

a cairo_surface_t содержащий значок для отрисовки

x

координата X для icon

y

координата Y для incon

С: 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

a GtkStyleContext

cr

a cairo_t

pixbuf

a GdkPixbuf содержащий значок для отрисовки

x

координата X для pixbuf

y

координата Y для pixbuf

С: 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

a GtkStyleContext

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 и является самым внешним свойством отступа в серии отступ/граница/отступ.

GTK_STYLE_PROPERTY_PADDING

#define GTK_STYLE_PROPERTY_PADDING "padding"

Свойство, содержащее внутренний отступ отрисовываемого элемента в формате GtkBorder. Отступ определяется как расстояние между внутренней частью границы элемента и его дочерним элементом. Это самое внутреннее свойство отступа в серии отступ/граница/отступ.

GTK_STYLE_PROPERTY_BORDER_WIDTH

#define GTK_STYLE_PROPERTY_BORDER_WIDTH "border-width"

Свойство, содержащее ширину границы отрисовываемого элемента в пикселях в формате GtkBorder. Граница является промежуточным свойством отступа в серии отступ/граница/отступ.

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_NONE

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 и не должен использоваться в новом коде.

Не используйте области.

Имя области виджета для определения столбца 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 и не должен использоваться в новом коде.

Не используйте области.

Имя области виджета для определения вкладки книжной полки.

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;
};

Структура, определяющая границу вокруг прямоугольной области, которая может иметь различную ширину по каждой стороне.

Члены

gint16 left;

Ширина левой границы

gint16 right;

Ширина правой границы

gint16 top;

Ширина верхней границы

gint16 bottom;

Ширина нижней границы

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

Свойство “direction”

  “direction”                GtkTextDirection

Направление текста.

Владелец: GtkStyleContext

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

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

Свойство “paint-clock”

  “paint-clock”              GdkFrameClock *

Связанный GdkFrameClock.

Владелец: GtkStyleContext

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

Свойство “parent”

  “parent”                   GtkStyleContext *

Устанавливает или получает родительский контекст стиля. Подробнее см. gtk_style_context_set_parent().

Владелец: GtkStyleContext

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

С: 3.4

Свойство “screen”

  “screen”                   GdkScreen *

Связанный GdkScreen.

Владелец: GtkStyleContext

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

Подробное описание сигналов

Сигнал “changed”

void
user_function (GtkStyleContext *stylecontext,
               gpointer         user_data)

Сигнал ::changed генерируется при изменении GtkStyleContext.

Для GtkStyleContext, возвращаемого gtk_widget_get_style_context(), возможно, удобнее использовать сигнал “style-updated”.

Этот сигнал полезен при использовании слоя оформления автономно.

Параметры

user_data

пользовательские данные, заданные при подключении обработчика сигнала.

Флаги: Выполнять первым

С: 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.24/GtkStyleContext.html

Spec-Zone.ru

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