Spec-Zone.ru › GTK 3.22

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 запрашивает данные у всех подключенных поставщиков стилей. Поставщики стилей могут быть подключены явно к контексту с помощью 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

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+ использует это, чтобы сделать доступной информацию об оформлении из GtkSettings.

Примечание: Если оба приоритета одинаковы, GtkStyleProvider, добавленный через gtk_style_context_add_provider(), имеет приоритет перед добавленным через эту функцию.

Параметры

screen

a GdkScreen

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

a 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

a 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

a 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

a 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

a 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

a 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

a 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() для "шрифта" или подсвойств вместо этого.

Возвращает описание шрифта для заданного состояния. Возвращаемый объект является константным и будет оставаться действительным до момента срабатывания сигнала “changed”.

Параметры

context

a 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

a 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

a 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

a 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

a 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

a GdkScreen

provider

a GtkStyleProvider

С: 3.0

gtk_style_context_reset_widgets ()

void
gtk_style_context_reset_widgets (GdkScreen *screen);

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

Параметры

screen

a 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

a GtkStyleContext

window

a GdkWindow

С: 3.0

gtk_style_context_restore ()

void
gtk_style_context_restore (GtkStyleContext *context);

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

Параметры

context

a 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

a 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

a 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

a 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

a 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_

структура GtkBorder

Возвращает

копию border_ .

[transfer full]

gtk_border_free ()

void
gtk_border_free (GtkBorder *border_);

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

Параметры

border_

структура GtkBorder

gtk_render_arrow ()

void
gtk_render_arrow (GtkStyleContext *context,
                  cairo_t *cr,
                  gdouble angle,
                  gdouble x,
                  gdouble y,
                  gdouble size);

Отображает стрелку, направленную к angle .

Типичное отображение стрелки в 0, 1⁄2 π;, π; и 3⁄2 π:

Параметры

context

контекст GtkStyleContext

cr

контекст cairo_t

angle

угол стрелки от 0 до 2 * 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);

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

отображаемый 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

объект GtkStyleContext

source

объект 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

объект GtkStyleContext

cr

объект cairo_t

surface

объект 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

объект GtkStyleContext

cr

объект cairo_t

pixbuf

объект 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

объект GtkStyleContext

cr

объект cairo_t

x

начало координат X

y

начало координат Y

layout

объект PangoLayout текста

index

индекс в PangoLayout

direction

направление текста, PangoDirection

С: 3.4

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

GTK_STYLE_PROPERTY_BACKGROUND_COLOR

#define GTK_STYLE_PROPERTY_BACKGROUND_COLOR "background-color"

Свойство, содержащее цвет фона рендеряемых элементов в формате GdkRGBA.

GTK_STYLE_PROPERTY_COLOR

#define GTK_STYLE_PROPERTY_COLOR "color"

Свойство, содержащее цвет переднего плана рендеряемых элементов в формате GdkRGBA.

GTK_STYLE_PROPERTY_FONT

#define GTK_STYLE_PROPERTY_FONT "font"

Свойство, содержащее свойства шрифта, используемые при рендеринге текста, в формате PangoFontDescription.

GTK_STYLE_PROPERTY_MARGIN

#define GTK_STYLE_PROPERTY_MARGIN "margin"

Свойство, содержащее отступ рендеряемого элемента в формате GtkBorder. Отступ определяется как расстояние между границей элемента и окружающими элементами. Он находится вне размеров размещения GtkWidget и является самым внешним свойством отступа в серии padding/border/margin.

GTK_STYLE_PROPERTY_PADDING

#define GTK_STYLE_PROPERTY_PADDING "padding"

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

GTK_STYLE_PROPERTY_BORDER_WIDTH

#define GTK_STYLE_PROPERTY_BORDER_WIDTH "border-width"

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

gtk_render_frame() использует это свойство для определения ширины линии рамки, поэтому GtkWidgets, рендерящие рамки, могут потребовать добавить этот отступ при запросе размера

GTK_STYLE_PROPERTY_BORDER_RADIUS

#define GTK_STYLE_PROPERTY_BORDER_RADIUS "border-radius"

Свойство, содержащее радиус скругления рамки рендеряемого элемента в пикселях в формате gint.

GTK_STYLE_PROPERTY_BORDER_STYLE

#define GTK_STYLE_PROPERTY_BORDER_STYLE "border-style"

Свойство, содержащее стиль рамки элемента в формате GtkBorderStyle.

GTK_STYLE_PROPERTY_BORDER_COLOR

#define GTK_STYLE_PROPERTY_BORDER_COLOR "border-color"

Свойство, содержащее цвет рамки элемента в формате GdkRGBA.

GTK_STYLE_PROPERTY_BACKGROUND_IMAGE

#define GTK_STYLE_PROPERTY_BACKGROUND_IMAGE "background-image"

Свойство, содержащее фон элемента в формате cairo_pattern_t.

Перечисление GtkBorderStyle

Описывает, как должна рендериться граница UI-элемента.

Члены

GTK_BORDER_STYLE_NONE

Границы нет

GTK_BORDER_STYLE_SOLID

Одна сплошная линия

GTK_BORDER_STYLE_INSET

Создает впечатление, что содержимое углублено в холст

GTK_BORDER_STYLE_OUTSET

Создает впечатление, что содержимое выступает из холста

GTK_BORDER_STYLE_HIDDEN

То же, что GTK_BORDER_STYLE_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-класс, добавляемый к окнам, имеющим декорации на стороне клиента.

Обратитесь к документации отдельных виджетов для использованных стилей.

Since: 3.14

GTK_STYLE_CLASS_CURSOR_HANDLE

#define GTK_STYLE_CLASS_CURSOR_HANDLE "cursor-handle"

CSS-класс, используемый при рендеринге маркерной ручки для выделения текста.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_DEFAULT

#define GTK_STYLE_CLASS_DEFAULT "default"

CSS-класс для соответствия стандартному виджету.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_DESTRUCTIVE_ACTION

#define GTK_STYLE_CLASS_DESTRUCTIVE_ACTION "destructive-action"

CSS-класс, используемый, когда действие (обычно кнопка) предназначено для удаления или уничтожения видимого для пользователя элемента.

Обратитесь к документации отдельных виджетов для использованных стилей.

Since: 3.12

GTK_STYLE_CLASS_DIM_LABEL

#define GTK_STYLE_CLASS_DIM_LABEL "dim-label"

CSS-класс для соответствия затемненным меткам.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_DND

#define GTK_STYLE_CLASS_DND "dnd"

CSS-класс для индикатора перетаскивания.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_DOCK

#define GTK_STYLE_CLASS_DOCK "dock"

CSS-класс, определяющий область док-панели.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_ENTRY

#define GTK_STYLE_CLASS_ENTRY "entry"

CSS-класс для соответствия полям ввода текста.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_ERROR

#define GTK_STYLE_CLASS_ERROR "error"

CSS-класс для области отображения сообщения об ошибке, например, в информационных строках.

Обратитесь к документации отдельных виджетов для использованных стилей.

GTK_STYLE_CLASS_EXPANDER

#define GTK_STYLE_CLASS_EXPANDER "expander"

Класс CSS, определяющий раскрывающийся элемент, например, в деревьях.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_FRAME

#define GTK_STYLE_CLASS_FRAME "frame"

Класс CSS, определяющий рамку, ограничивающую содержимое, например, GtkFrame или рамку области прокрутки вокруг области прокручиваемого содержимого.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_FLAT

#define GTK_STYLE_CLASS_FLAT "flat"

Класс CSS, который добавляется, когда виджеты, которые обычно имеют рамку или границу (например, кнопки или поля ввода), должны отображаться без неё.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.14

GTK_STYLE_CLASS_GRIP

#define GTK_STYLE_CLASS_GRIP "grip"

Класс CSS, определяющий маркер изменения размера.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_HEADER

#define GTK_STYLE_CLASS_HEADER "header"

Класс CSS для соответствия элементу заголовка.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_HIGHLIGHT

#define GTK_STYLE_CLASS_HIGHLIGHT "highlight"

Класс CSS, определяющий выделенную область, например, заголовки в помощниках и календарях.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_HORIZONTAL

#define GTK_STYLE_CLASS_HORIZONTAL "horizontal"

Класс CSS для горизонтально расположенных виджетов.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_IMAGE

#define GTK_STYLE_CLASS_IMAGE "image"

Класс CSS, определяющий изображение, например, значок в поле ввода.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_INFO

#define GTK_STYLE_CLASS_INFO "info"

Класс CSS для области, отображающей информационное сообщение, например, в информационных панелях.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_INLINE_TOOLBAR

#define GTK_STYLE_CLASS_INLINE_TOOLBAR "inline-toolbar"

Класс CSS для соответствия встроенным панелям инструментов.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_INSERTION_CURSOR

#define GTK_STYLE_CLASS_INSERTION_CURSOR "insertion-cursor"

Класс CSS, используемый при отрисовке маркера перетаскивания для позиции вставки курсора.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_LABEL

#define GTK_STYLE_CLASS_LABEL "label"

Класс CSS для соответствия меткам.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.16

GTK_STYLE_CLASS_LEFT

#define GTK_STYLE_CLASS_LEFT "left"

Класс CSS, указывающий область слева от виджета.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_LEVEL_BAR

#define GTK_STYLE_CLASS_LEVEL_BAR "level-bar"

Класс CSS, используемый при отрисовке индикатора уровня, например, уровня заряда батареи или надежности пароля.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_LINKED

#define GTK_STYLE_CLASS_LINKED "linked"

Класс CSS для соответствия связанной области, например, блоку, содержащему кнопки, относящиеся к одному элементу управления.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_LIST

#define GTK_STYLE_CLASS_LIST "list"

Класс CSS для соответствия спискам.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_LIST_ROW

#define GTK_STYLE_CLASS_LIST_ROW "list-row"

Класс CSS для соответствия строкам списка.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_MARK

#define GTK_STYLE_CLASS_MARK "mark"

Класс CSS, определяющий метки в виджете, например, в шкалах.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_MENU

#define GTK_STYLE_CLASS_MENU "menu"

Класс CSS для соответствия меню.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_MENUBAR

#define GTK_STYLE_CLASS_MENUBAR "menubar"

Класс CSS для полос меню.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_MENUITEM

#define GTK_STYLE_CLASS_MENUITEM "menuitem"

Класс CSS для соответствия элементам меню.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_MESSAGE_DIALOG

#define GTK_STYLE_CLASS_MESSAGE_DIALOG "message-dialog"

Класс CSS, добавляемый к диалоговым окнам с сообщениями.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.14

GTK_STYLE_CLASS_MONOSPACE

#define GTK_STYLE_CLASS_MONOSPACE "monospace"

Класс CSS, добавляемый к представлению текста, которое должно использовать моноширинный шрифт.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.16

GTK_STYLE_CLASS_NEEDS_ATTENTION

#define GTK_STYLE_CLASS_NEEDS_ATTENTION "needs-attention"

Класс CSS, используемый, когда элемент требует внимания пользователя, например, кнопка в переключателе стеков, соответствующая скрытой странице, состояние которой изменилось.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.12

GTK_STYLE_CLASS_NOTEBOOK

#define GTK_STYLE_CLASS_NOTEBOOK "notebook"

Класс CSS, определяющий блокнот.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_OSD

#define GTK_STYLE_CLASS_OSD "osd"

Класс CSS, используемый при отрисовке элемента OSD (On Screen Display) поверх другого контейнера.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_OVERSHOOT

#define GTK_STYLE_CLASS_OVERSHOOT "overshoot"

Класс CSS, добавляемый к визуальным подсказкам, появляющимся при попытке прокрутки за пределы области прокрутки.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.14

GTK_STYLE_CLASS_PANE_SEPARATOR

#define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator"

Класс CSS для разделителя панелей, например, в GtkPaned.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_PAPER

#define GTK_STYLE_CLASS_PAPER "paper"

Класс CSS, добавляемый к областям, которые должны выглядеть как бумага.

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

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.16

GTK_STYLE_CLASS_POPUP

#define GTK_STYLE_CLASS_POPUP "popup"

Класс CSS, добавляемый к верхним окнам, используемым для меню.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.14

GTK_STYLE_CLASS_POPOVER

#define GTK_STYLE_CLASS_POPOVER "popover"

Класс CSS, соответствующий всплывающим подсказкам.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

С: 3.14

GTK_STYLE_CLASS_PRIMARY_TOOLBAR

#define GTK_STYLE_CLASS_PRIMARY_TOOLBAR "primary-toolbar"

Класс CSS для соответствия основным панелям инструментов.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_PROGRESSBAR

#define GTK_STYLE_CLASS_PROGRESSBAR "progressbar"

Класс CSS, используемый для отображения хода выполнения в виде индикатора прогресса.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_PULSE

#define GTK_STYLE_CLASS_PULSE "pulse"

Класс CSS, используемый при отрисовке пульсации в индикаторе прогресса с неопределённым значением.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_QUESTION

#define GTK_STYLE_CLASS_QUESTION "question"

Класс CSS для области, отображающей вопрос пользователю, например, в информационных панелях.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_RADIO

#define GTK_STYLE_CLASS_RADIO "radio"

Класс CSS для соответствия радиокнопкам.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_RAISED

#define GTK_STYLE_CLASS_RAISED "raised"

Класс CSS для соответствия поднятому элементу управления, например, поднятой кнопке на панели инструментов.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_READ_ONLY

#define GTK_STYLE_CLASS_READ_ONLY "read-only"

Класс CSS, используемый для обозначения состояния только для чтения.

Обратитесь к документации отдельных виджетов для используемых классов стилей.

GTK_STYLE_CLASS_RIGHT

#define GTK_STYLE_CLASS_RIGHT "right"

Класс CSS для обозначения области справа от виджета.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_RUBBERBAND

#define GTK_STYLE_CLASS_RUBBERBAND "rubberband"

Класс CSS для соответствия прямоугольнику выделения резиновой ленты.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SCALE

#define GTK_STYLE_CLASS_SCALE "scale"

Класс CSS для соответствия виджетам шкалы.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE

#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above"

Класс CSS для соответствия виджетам шкалы с метками, все метки находятся сверху для горизонтальной GtkScale, слева для вертикальной GtkScale.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW

#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below"

Класс CSS для соответствия виджетам шкалы с метками, все метки находятся снизу для горизонтальной GtkScale, справа для вертикальной GtkScale.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SCROLLBAR

#define GTK_STYLE_CLASS_SCROLLBAR "scrollbar"

Класс CSS для соответствия полосам прокрутки.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SCROLLBARS_JUNCTION

#define GTK_STYLE_CLASS_SCROLLBARS_JUNCTION "scrollbars-junction"

Класс CSS для соответствия области соединения между горизонтальной и вертикальной полосой прокрутки, когда они обе отображаются.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SEPARATOR

#define GTK_STYLE_CLASS_SEPARATOR "separator"

Класс CSS для разделителя.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SIDEBAR

#define GTK_STYLE_CLASS_SIDEBAR "sidebar"

Класс CSS, определяющий боковую панель, например, левую сторону в диалоге выбора файла.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SLIDER

#define GTK_STYLE_CLASS_SLIDER "slider"

Класс CSS для соответствия ползункам.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SPINBUTTON

#define GTK_STYLE_CLASS_SPINBUTTON "spinbutton"

Класс CSS, определяющий спин-кнопку.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_SPINNER

#define GTK_STYLE_CLASS_SPINNER "spinner"

Класс CSS для отображения активности как «спиннера».

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_STATUSBAR

#define GTK_STYLE_CLASS_STATUSBAR "statusbar"

Класс CSS для соответствия строкам состояния.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.16

GTK_STYLE_CLASS_SUBTITLE

#define GTK_STYLE_CLASS_SUBTITLE "subtitle"

Класс CSS, используемый для подзаголовка в строке заголовка окна верхнего уровня.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.14

GTK_STYLE_CLASS_SUGGESTED_ACTION

#define GTK_STYLE_CLASS_SUGGESTED_ACTION "suggested-action"

Класс CSS, используемый, когда действие (обычно кнопка) является основным предлагаемым действием в определенном контексте.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.12

GTK_STYLE_CLASS_TITLE

#define GTK_STYLE_CLASS_TITLE "title"

Класс CSS, используемый для метки заголовка в строке заголовка окна верхнего уровня.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.14

GTK_STYLE_CLASS_TITLEBAR

#define GTK_STYLE_CLASS_TITLEBAR "titlebar"

Класс CSS, используемый при отрисовке строки заголовка в окне верхнего уровня.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_TOOLBAR

#define GTK_STYLE_CLASS_TOOLBAR "toolbar"

Класс CSS для соответствия панелям инструментов.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_TOOLTIP

#define GTK_STYLE_CLASS_TOOLTIP "tooltip"

Класс CSS для соответствия всплывающим подсказкам.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_TOUCH_SELECTION

#define GTK_STYLE_CLASS_TOUCH_SELECTION "touch-selection"

Класс CSS для всплывающих окон касательного выделения в строках ввода и текстовых представлениях.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.16

GTK_STYLE_CLASS_TOP

#define GTK_STYLE_CLASS_TOP "top"

Класс CSS для обозначения области вверху виджета.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_TROUGH

#define GTK_STYLE_CLASS_TROUGH "trough"

Класс CSS для соответствия желобам, как в полосах прокрутки и полосах прогресса.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_UNDERSHOOT

#define GTK_STYLE_CLASS_UNDERSHOOT "undershoot"

Класс CSS, который добавляется к визуальным подсказкам, которые происходят там, где содержимое «прокручивается» и может быть сделано видимым путем прокрутки.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.16

GTK_STYLE_CLASS_VERTICAL

#define GTK_STYLE_CLASS_VERTICAL "vertical"

Класс CSS для вертикально расположенных виджетов.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_VIEW

#define GTK_STYLE_CLASS_VIEW "view"

Класс CSS, определяющий представление, например, представления значков или деревьев.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_WARNING

#define GTK_STYLE_CLASS_WARNING "warning"

Класс CSS для области, отображающей сообщение об ошибке, например, такие в информационных строках.

Обратитесь к документации отдельных виджетов для использования стилей классов.

GTK_STYLE_CLASS_WIDE

#define GTK_STYLE_CLASS_WIDE "wide"

Класс CSS, указывающий, что элемент пользовательского интерфейса должен быть «широким». Используется GtkPaned.

Обратитесь к документации отдельных виджетов для использования стилей классов.

С момента: 3.16

GTK_STYLE_REGION_COLUMN

#define GTK_STYLE_REGION_COLUMN "column"

GTK_STYLE_REGION_COLUMN был устаревшим с версии 3.20 и не должен использоваться в новом коде.

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

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

GTK_STYLE_REGION_COLUMN_HEADER

#define GTK_STYLE_REGION_COLUMN_HEADER "column-header"

GTK_STYLE_REGION_COLUMN_HEADER был устаревшим с версии 3.20 и не должен использоваться в новом коде.

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

Имя области виджета для определения заголовка столбца treeview.

GTK_STYLE_REGION_ROW

#define GTK_STYLE_REGION_ROW "row"

GTK_STYLE_REGION_ROW был устаревшим с версии 3.20 и не должен использоваться в новом коде.

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

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

GTK_STYLE_REGION_TAB

#define GTK_STYLE_REGION_TAB "tab"

GTK_STYLE_REGION_TAB был устаревшим с версии 3.20 и не должен использоваться в новом коде.

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

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

GtkStyleContext

typedef struct _GtkStyleContext GtkStyleContext;

Перечисление GtkJunctionSides

Описывает, как отрисованный элемент соединяется с соседними элементами.

Элементы

GTK_JUNCTION_NONE

Нет соединений.

GTK_JUNCTION_CORNER_TOPLEFT

Элемент соединяется в верхнем левом углу.

GTK_JUNCTION_CORNER_TOPRIGHT

Элемент соединяется в верхнем правом углу.

GTK_JUNCTION_CORNER_BOTTOMLEFT

Элемент соединяется в нижнем левом углу.

GTK_JUNCTION_CORNER_BOTTOMRIGHT

Элемент соединяется в нижнем правом углу.

GTK_JUNCTION_TOP

Элемент соединяется по верхней стороне.

GTK_JUNCTION_BOTTOM

Элемент соединяется по нижней стороне.

GTK_JUNCTION_LEFT

Элемент соединяется по левой стороне.

GTK_JUNCTION_RIGHT

Элемент соединяется по правой стороне.

Перечисление GtkRegionFlags

Описывает область внутри виджета.

Элементы

GTK_REGION_EVEN

Область имеет чётное число в наборе.

GTK_REGION_ODD

Область имеет нечётное число в наборе.

GTK_REGION_FIRST

Область является первой в наборе.

GTK_REGION_LAST

Область является последней в наборе.

GTK_REGION_ONLY

Область является единственной в наборе.

GTK_REGION_SORTED

Область является частью отсортированной области.

Перечисление GtkStyleContextPrintFlags

Флаги, которые изменяют поведение gtk_style_context_to_string(). Новые значения могут быть добавлены в это перечисление.

Элементы

GTK_STYLE_CONTEXT_PRINT_NONE

GTK_STYLE_CONTEXT_PRINT_RECURSE

Печать всего дерева узлов CSS, начиная с узла контекста стиля.

GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE

Отображение значений свойств CSS для каждого узла.

Структура GtkBorder

struct GtkBorder {
  gint16 left;
  gint16 right;
  gint16 top;
  gint16 bottom;
};

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

Элементы

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

Свойство “screen”

  “screen”                   GdkScreen *

Связанный GdkScreen.

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

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

Сигнал “changed”

void
user_function (GtkStyleContext *arg0,
               gpointer         user_data)

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

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

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

Параметры

user_data

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

Флаги: Run First

С: 3.0

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkStyleContext.html

Spec-Zone.ru

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