Стиль Gtk
GtkStyle — Устаревший объект, хранящий информацию о стиле виджетов
Функции
Свойства
| GtkStyleContext * | context | Чтение / Запись / Только для создания |
Типы и значения
| GtkStyle | |
| struct | GtkStyleClass |
| перечисление | GtkExpanderStyle |
| GtkRcProperty |
Иерархия объектов
GObject
╰── GtkStyle
Включаемые файлы
#include <gtk/gtk.h>
Описание
Объект GtkStyle содержит информацию, определяющую внешний вид виджета.
В GTK+ 3.0 объект GtkStyle устарел и заменён на GtkStyleContext.
Каждый GtkWidget имеет связанный с ним объект GtkStyle, который используется при отрисовке этого виджета. Кроме того, объект GtkStyle содержит информацию о пяти возможных состояниях виджета, хотя не каждый виджет поддерживает все пять состояний; см. GtkStateType.
Как правило, GtkStyle виджета совпадает со стилем по умолчанию, установленным GTK+, и модифицируется движком темы.
Приложения обычно не должны использовать или изменять GtkStyle своих виджетов.
Функции
GTK_STYLE_ATTACHED()
#define GTK_STYLE_ATTACHED(style) (GTK_STYLE (style)->attach_count > 0)
Параметры
style | объект GtkStyle. |
Возвращает
признак того, прикреплён ли стиль к окну.
gtk_style_new ()
GtkStyle *
gtk_style_new (void); gtk_style_new устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте GtkStyleContext
Создаёт новый объект GtkStyle.
Возвращает
новый объект GtkStyle.
gtk_style_copy ()
GtkStyle *
gtk_style_copy (GtkStyle *style); gtk_style_copy устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте GtkStyleContext вместо этого
Создаёт копию объекта GtkStyle.
Параметры
style | объект GtkStyle |
Возвращает
копию объекта style .
[transfer full]
gtk_style_attach ()
GtkStyle * gtk_style_attach (GtkStyle *style,GdkWindow *window);
gtk_style_attach устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_widget_style_attach() вместо этого
Прикрепляет стиль к окну; этот процесс выделяет цвета и создаёт GC для стиля — он специализирует его для определённого визуального представления. Процесс может включать создание нового стиля, если стиль уже был прикреплён к окну с другим стилем и визуальным представлением.
Поскольку эта функция может возвращать новый объект, её следует использовать следующим образом: style = gtk_style_attach (style, window)
[skip]
Возвращает
либо style, либо новый созданный GtkStyle. Если стиль был создан заново, параметр style будет удалён, а счётчик ссылок нового стиля будет принадлежать вызывающей стороне.
gtk_style_detach ()
void
gtk_style_detach (GtkStyle *style); gtk_style_detach устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте GtkStyleContext вместо этого
Открепляет стиль от окна. Если стиль больше ни к каким окнам не прикреплён, он перестал быть реализованным. См. gtk_style_attach().
Параметры
style | объект GtkStyle |
gtk_style_has_context ()
gboolean
gtk_style_has_context (GtkStyle *style); gtk_style_has_context устарел и не должен использоваться в новом коде.
Возвращает признак того, есть ли у style связанный GtkStyleContext.
Параметры
style | объект GtkStyle |
Возвращает
TRUE если у style есть GtkStyleContext
С: 3.0
gtk_style_set_background ()
void gtk_style_set_background (GtkStyle *style,GdkWindow *window,GtkStateType state_type);
gtk_style_set_background устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_style_context_set_background() вместо этого
Устанавливает фон window на цвет или пиксель фона, указанные в style для данного состояния.
gtk_style_apply_default_background ()
void gtk_style_apply_default_background (GtkStyle *style,cairo_t *cr,GdkWindow *window,GtkStateType state_type,gint x,gint y,gint width,gint height);
gtk_style_apply_default_background устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте GtkStyleContext вместо этого
gtk_style_lookup_color ()
gboolean gtk_style_lookup_color (GtkStyle *style,const gchar *color_name,GdkColor *color);
gtk_style_lookup_color устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_style_context_lookup_color() вместо этого
Ищет color_name в логических цветовых отображениях стиля, заполняет color и возвращает TRUE при поиске, иначе возвращает FALSE. Не кешируйте найденное соответствие, так как оно зависит от GtkStyle и может измениться при переключении тем.
Параметры
Возвращает
TRUE если соответствие найдено.
С: 2.10
gtk_style_lookup_icon_set ()
GtkIconSet * gtk_style_lookup_icon_set (GtkStyle *style,const gchar *stock_id);
gtk_style_lookup_icon_set устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_style_context_lookup_icon_set() вместо этого
Ищет stock_id в фабриках значков, связанных с style и с фабрикой значков по умолчанию, возвращая набор значков, если найден, иначе NULL.
Параметры
style | объект GtkStyle | |
stock_id | имя значка |
Возвращает
набор значков stock_id .
[transfer none]
gtk_style_render_icon ()
GdkPixbuf * gtk_style_render_icon (GtkStyle *style,const GtkIconSource *source,GtkTextDirection direction,GtkStateType state,GtkIconSize size,GtkWidget *widget,const gchar *detail);
gtk_style_render_icon устарел начиная с версии 3.0 и не должен использоваться в новых кодах.
Используйте gtk_render_icon_pixbuf() вместо этого
Отображает значок, указанный в source в заданном size в соответствии с заданными параметрами и возвращает результат в pixbuf.
Параметры
style | стиль GtkStyle | |
source | значок GtkIconSource, определяющий отображаемый значок | |
direction | направление текста | |
state | состояние | |
size | размер для отображения значка (GtkIconSize). Значение | [type int] |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
gtk_style_get_style_property ()
void gtk_style_get_style_property (GtkStyle *style,GType widget_type,const gchar *property_name,GValue *value);
gtk_style_get_style_property устарел и не должен использоваться в новых кодах.
Получает значение свойства стиля, соответствующего классу виджета, в данном стиле.
Параметры
С: 2.16
gtk_style_get_valist ()
void gtk_style_get_valist (GtkStyle *style,GType widget_type,const gchar *first_property_name,va_list var_args);
gtk_style_get_valist устарел и не должен использоваться в новых кодах.
Вариант без varargs функции gtk_style_get(). Преимущественно используется языковыми библиотеками.
Параметры
С: 2.16
gtk_style_get ()
void gtk_style_get (GtkStyle *style,GType widget_type,const gchar *first_property_name,...);
gtk_style_get устарел и не должен использоваться в новых кодах.
Получает значения нескольких свойств стиля для widget_type из style .
Параметры
С: 2.16
gtk_paint_arrow ()
void gtk_paint_arrow (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,GtkArrowType arrow_type,gboolean fill,gint x,gint y,gint width,gint height);
gtk_paint_arrow устарел начиная с версии 3.0 и не должен использоваться в новых кодах.
Используйте gtk_render_arrow() вместо этого
Рисует стрелку в заданном прямоугольнике на cr с использованием заданных параметров. arrow_type определяет направление стрелки.
Параметры
style | стиль GtkStyle | |
cr | ||
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
arrow_type | тип стрелки для отрисовки | |
fill |
| |
x | координата x начала прямоугольника для отрисовки стрелки | |
y | координата y начала прямоугольника для отрисовки стрелки | |
width | ширина прямоугольника для отрисовки стрелки | |
height | высота прямоугольника для отрисовки стрелки |
gtk_paint_box ()
void gtk_paint_box (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_box было устаревшим с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_frame() и gtk_render_background() вместо этого
Рисует прямоугольник на cr с заданными параметрами.
gtk_paint_box_gap ()
void gtk_paint_box_gap (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width);
gtk_paint_box_gap было устаревшим с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_frame_gap() вместо этого
Рисует прямоугольник в cr используя заданный стиль, состояние и тип тени, оставляя просвет с одной стороны.
Parameters
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | координата x начала прямоугольника | |
y | координата y начала прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника | |
gap_side | сторона, с которой оставляется просвет | |
gap_x | начало позиции просвета | |
gap_width | ширина просвета |
gtk_paint_check ()
void gtk_paint_check (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_check было устаревшим с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_check() вместо этого
Рисует индикатор чекбокса в заданном прямоугольнике на cr с заданными параметрами.
Parameters
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | координата x начала прямоугольника для отрисовки чекбокса | |
y | координата y начала прямоугольника для отрисовки чекбокса | |
width | ширина прямоугольника для отрисовки чекбокса | |
height | высота прямоугольника для отрисовки чекбокса |
gtk_paint_diamond ()
void gtk_paint_diamond (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_diamond было устаревшим с версии 3.0 и не должно использоваться в новом коде.
Используйте cairo вместо этого
Рисует ромб в заданном прямоугольнике на window с заданными параметрами.
Parameters
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | координата x начала прямоугольника для отрисовки ромба | |
y | координата y начала прямоугольника для отрисовки ромба | |
width | ширина прямоугольника для отрисовки ромба | |
height | высота прямоугольника для отрисовки ромба |
gtk_paint_extension ()
void gtk_paint_extension (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side);
gtk_paint_extension устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_extension() вместо этого
Отображает расширение, т.е. вкладку вкладки.
Параметры
style | стиль GtkStyle | |
cr | ||
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
x | координата x начала расширения | |
y | координата y начала расширения | |
width | ширина расширения | |
height | высота расширения | |
gap_side | сторона, к которой прикреплено расширение |
gtk_paint_flat_box ()
void gtk_paint_flat_box (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_flat_box устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_frame() и gtk_render_background() вместо этого
Рисует прямоугольник на cr с заданными параметрами.
gtk_paint_focus ()
void gtk_paint_focus (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_focus устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_focus() вместо этого
Отображает индикатор фокуса вокруг заданного прямоугольника на cr с использованием заданного стиля.
Параметры
style | стиль GtkStyle | |
cr | ||
state_type | состояние | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
x | координата x начала прямоугольника, вокруг которого отобразить индикатор фокуса | |
y | координата y начала прямоугольника, вокруг которого отобразить индикатор фокуса | |
width | ширина прямоугольника, вокруг которого отобразить индикатор фокуса | |
height | высота прямоугольника, вокруг которого отобразить индикатор фокуса |
gtk_paint_handle ()
void gtk_paint_handle (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height,GtkOrientation orientation);
gtk_paint_handle устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_handle() вместо этого
Отображает маркер, используемый в GtkHandleBox и GtkPaned.
gtk_paint_hline ()
void gtk_paint_hline (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,gint x1,gint x2,gint y);
gtk_paint_hline устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_line() вместо этого
Рисует горизонтальную линию от (x1, y) до (x2, y) в cr с заданным стилем и состоянием.
Параметры
style | a GtkStyle | |
cr | a caio_t | |
state_type | состояние | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x1 | координата x начала | |
x2 | координата x конца | |
y | координата y |
gtk_paint_option ()
void gtk_paint_option (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_option устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_option() вместо этого
Рисует индикатор радиокнопки в заданном прямоугольнике на cr с заданными параметрами.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | начало x прямоугольника для отрисовки опции | |
y | начало y прямоугольника для отрисовки опции | |
width | ширина прямоугольника для отрисовки опции | |
height | высота прямоугольника для отрисовки опции |
gtk_paint_shadow ()
void gtk_paint_shadow (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_shadow устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_frame() вместо этого
Рисует тень вокруг заданного прямоугольника в cr с использованием заданного стиля и состояния, а также типа тени.
gtk_paint_shadow_gap ()
void gtk_paint_shadow_gap (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width);
gtk_paint_shadow_gap устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_frame_gap() вместо этого
Рисует тень вокруг заданного прямоугольника в cr с использованием заданного стиля и состояния, и типа тени, оставляя пробел с одной стороны.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | начало x прямоугольника | |
y | начало y прямоугольника | |
width | ширина прямоугольника | |
height | высота прямоугольника | |
gap_side | сторона, где оставить пробел | |
gap_x | начало пробела | |
gap_width | ширина пробела |
gtk_paint_slider ()
void gtk_paint_slider (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height,GtkOrientation orientation);
gtk_paint_slider устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_slider() вместо этого
Отрисовывает ползунок в заданном прямоугольнике на cr с использованием заданного стиля и ориентации.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тень | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | координата x начала прямоугольника, в котором нужно нарисовать ползунок | |
y | координата y начала прямоугольника, в котором нужно нарисовать ползунок | |
width | ширина прямоугольника, в котором нужно нарисовать ползунок | |
height | высота прямоугольника, в котором нужно нарисовать ползунок | |
orientation | используемая ориентация |
gtk_paint_spinner ()
void gtk_paint_spinner (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,guint step,gint x,gint y,gint width,gint height);
gtk_paint_spinner устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_icon() и GtkStyleContext, на котором вы рисуете.
Отрисовывает индикатор вращения на window с использованием заданных параметров.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
widget | виджет (может быть | [allow-none] |
detail | детали стиля (могут быть | [allow-none] |
step | n-ый шаг | |
x | координата x начала прямоугольника, в котором нужно нарисовать индикатор вращения | |
y | координата y начала прямоугольника, в котором нужно нарисовать индикатор вращения | |
width | ширина прямоугольника, в котором нужно нарисовать индикатор вращения | |
height | высота прямоугольника, в котором нужно нарисовать индикатор вращения |
gtk_paint_tab ()
void gtk_paint_tab (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkShadowType shadow_type,GtkWidget *widget,const gchar *detail,gint x,gint y,gint width,gint height);
gtk_paint_tab устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте cairo вместо этого
Рисует вкладку меню (т. е. стрелки вверх и вниз) в заданном прямоугольнике на cr с использованием заданных параметров.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
shadow_type | тип тени для отрисовки | |
widget | виджет. | [allow-none] |
detail | детали стиля. | [allow-none] |
x | координата x начала прямоугольника для отрисовки вкладки | |
y | координата y начала прямоугольника для отрисовки вкладки | |
width | ширина прямоугольника для отрисовки вкладки | |
height | высота прямоугольника для отрисовки вкладки |
gtk_paint_vline ()
void gtk_paint_vline (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,gint y1_,gint y2_,gint x);
gtk_paint_vline устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_line() вместо этого
Рисует вертикальную линию от (x , y1_ ) до (x , y2_ ) в cr с использованием заданного стиля и состояния.
gtk_paint_expander ()
void gtk_paint_expander (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,gint x,gint y,GtkExpanderStyle expander_style);
gtk_paint_expander has been deprecated since version 3.0 and should not be used in newly-written code.
Use gtk_render_expander() instead
Рисует раскрывающийся элемент, как используется в GtkTreeView. x и y указывают центр раскрывающегося элемента. Размер раскрывающегося элемента определяется свойством стиля “expander-size” widget . (Если виджет не указан или не имеет свойства “expander-size”, будет использован не указанный размер по умолчанию, поскольку вызывающий объект не имеет достаточной информации для позиционирования раскрывающегося элемента, это, вероятно, не полезно.) Высота раскрывающегося элемента составляет expander_size пикселей в свернутом положении и expander_size пикселей в ширину в развернутом положении.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | a state | |
widget | виджет. | [allow-none] |
detail | подробности стиля. | [allow-none] |
x | позиция x для отрисовки раскрывающегося элемента | |
y | позиция y для отрисовки раскрывающегося элемента | |
expander_style | стиль для отрисовки раскрывающегося элемента; определяет, свернут ли раскрывающийся элемент, развернут или находится в промежуточном состоянии. |
gtk_paint_layout ()
void gtk_paint_layout (GtkStyle *style,cairo_t *cr,GtkStateType state_type,gboolean use_text,GtkWidget *widget,const gchar *detail,gint x,gint y,PangoLayout *layout);
gtk_paint_layout has been deprecated since version 3.0 and should not be used in newly-written code.
Use gtk_render_layout() instead
Рисует макет на cr используя заданные параметры.
gtk_paint_resize_grip ()
void gtk_paint_resize_grip (GtkStyle *style,cairo_t *cr,GtkStateType state_type,GtkWidget *widget,const gchar *detail,GdkWindowEdge edge,gint x,gint y,gint width,gint height);
gtk_paint_resize_grip has been deprecated since version 3.0 and should not be used in newly-written code.
Use gtk_render_handle() instead
Рисует маркер изменения размера в заданном прямоугольнике на cr используя заданные параметры.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | a state | |
widget | виджет. | [allow-none] |
detail | подробности стиля. | [allow-none] |
edge | грань, в которой нужно нарисовать маркер изменения размера | |
x | начало x прямоугольника, в котором нужно нарисовать маркер изменения размера | |
y | начало y прямоугольника, в котором нужно нарисовать маркер изменения размера | |
width | ширина прямоугольника, в котором нужно нарисовать маркер изменения размера | |
height | высота прямоугольника, в котором нужно нарисовать маркер изменения размера |
gtk_draw_insertion_cursor ()
void gtk_draw_insertion_cursor (GtkWidget *widget,cairo_t *cr,const GdkRectangle *location,gboolean is_primary,GtkTextDirection direction,gboolean draw_arrow);
gtk_draw_insertion_cursor has been deprecated since version 3.4 and should not be used in newly-written code.
Use gtk_render_insertion_cursor() instead.
Рисует текстовый курсор на cr в location . Это не функция стиля, а просто вспомогательная функция для отрисовки стандартной формы курсора.
Параметры
widget | ||
cr | контекст cairo для отрисовки | |
location | местоположение, где нужно нарисовать курсор ( | |
is_primary | если курсор должен иметь основной цвет курсора. | |
direction | направление курсора слева направо или справа налево. Никогда не должно быть GTK_TEXT_DIR_NONE | |
draw_arrow |
|
С версии: 3.0
GtkRcPropertyParser ()
gboolean
(*GtkRcPropertyParser) (const GParamSpec *pspec,
const GString *rc_string,
GValue *property_value); Типы и значения
GtkStyle
typedef struct {
GdkColor fg[5];
GdkColor bg[5];
GdkColor light[5];
GdkColor dark[5];
GdkColor mid[5];
GdkColor text[5];
GdkColor base[5];
GdkColor text_aa[5]; /* Halfway between text/base */
GdkColor black;
GdkColor white;
PangoFontDescription *font_desc;
gint xthickness;
gint ythickness;
cairo_pattern_t *background[5];
} GtkStyle;
Члены
GdkColor | Набор цветов переднего плана GdkColor | |
GdkColor | Набор цветов заднего плана GdkColor | |
GdkColor | Набор цветов светлого фона GdkColor | |
GdkColor | Набор цветов темного фона GdkColor | |
GdkColor | Набор средних цветов GdkColor | |
GdkColor | Набор цветов текста GdkColor | |
GdkColor | Набор основных цветов GdkColor | |
GdkColor | Цвет, расположенный посередине между текстом и основой | |
GdkColor | GdkColor для использования с чёрным цветом | |
GdkColor | GdkColor для использования с белым цветом | |
PangoFontDescription * | ||
gint | Толщина в направлении X | |
gint | Толщина в направлении Y | |
cairo_pattern_t * | Набор фоновых cairo_pattern_t |
Структура GtkStyleClass
struct GtkStyleClass {
GObjectClass parent_class;
/* Initialize for a particular visual. style->visual
* will have been set at this point. Will typically chain
* to parent.
*/
void (*realize) (GtkStyle *style);
/* Clean up for a particular visual. Will typically chain
* to parent.
*/
void (*unrealize) (GtkStyle *style);
/* Make style an exact duplicate of src.
*/
void (*copy) (GtkStyle *style,
GtkStyle *src);
/* Create an empty style of the same type as this style.
* The default implementation, which does
* g_object_new (G_OBJECT_TYPE (style), NULL);
* should work in most cases.
*/
GtkStyle *(*clone) (GtkStyle *style);
/* Initialize the GtkStyle with the values in the GtkRcStyle.
* should chain to the parent implementation.
*/
void (*init_from_rc) (GtkStyle *style,
GtkRcStyle *rc_style);
void (*set_background) (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type);
GdkPixbuf * (* render_icon) (GtkStyle *style,
const GtkIconSource *source,
GtkTextDirection direction,
GtkStateType state,
GtkIconSize size,
GtkWidget *widget,
const gchar *detail);
/* Drawing functions
*/
void (*draw_hline) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
gint x1,
gint x2,
gint y);
void (*draw_vline) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
gint y1_,
gint y2_,
gint x);
void (*draw_shadow) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_arrow) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
GtkArrowType arrow_type,
gboolean fill,
gint x,
gint y,
gint width,
gint height);
void (*draw_diamond) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_box) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_flat_box) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_check) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_option) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_tab) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_shadow_gap) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height,
GtkPositionType gap_side,
gint gap_x,
gint gap_width);
void (*draw_box_gap) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height,
GtkPositionType gap_side,
gint gap_x,
gint gap_width);
void (*draw_extension) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height,
GtkPositionType gap_side);
void (*draw_focus) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height);
void (*draw_slider) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height,
GtkOrientation orientation);
void (*draw_handle) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height,
GtkOrientation orientation);
void (*draw_expander) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
GtkExpanderStyle expander_style);
void (*draw_layout) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
gboolean use_text,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
PangoLayout *layout);
void (*draw_resize_grip) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
GdkWindowEdge edge,
gint x,
gint y,
gint width,
gint height);
void (*draw_spinner) (GtkStyle *style,
cairo_t *cr,
GtkStateType state_type,
GtkWidget *widget,
const gchar *detail,
guint step,
gint x,
gint y,
gint width,
gint height);
};
Члены
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Перечисление GtkExpanderStyle
Используется для указания стиля раскрывающихся элементов, нарисованных GtkTreeView.
Члены
GTK_EXPANDER_COLLAPSED | Стиль, используемый для свёрнутой поддерева. | |
GTK_EXPANDER_SEMI_COLLAPSED | Промежуточный стиль, используемый во время анимации. | |
GTK_EXPANDER_SEMI_EXPANDED | Промежуточный стиль, используемый во время анимации. | |
GTK_EXPANDER_EXPANDED | Стиль, используемый для развернутой поддерева. |
Класс GtkRcProperty
typedef struct {
/* quark-ified property identifier like “GtkScrollbar::spacing” */
GQuark type_name;
GQuark property_name;
/* fields similar to GtkSettingsValue */
gchar *origin;
GValue value;
} GtkRcProperty;
Устарел
Члены
GQuark | идентификатор типа, представленный как GQuark | |
GQuark | идентификатор свойства, представленный как GQuark, например, “GtkScrollbar::spacing” | |
gchar * | поле, аналогичное полю в GtkSettingsValue | |
GValue | поле, аналогичное полю в GtkSettingsValue |
Подробное описание свойств
Свойство “context”
“context” GtkStyleContext *
GtkStyleContext для получения стиля.
Владелец: GtkStyle
Флаги: Чтение / Запись / Только для создания
Подробное описание сигналов
Сигнал “realize”
void user_function (GtkStyle *style, gpointer user_data)
Издается, когда стиль инициализирован для определённого визуального представления. Подключение к этому сигналу вряд ли окажется полезным, поскольку приложения и виджеты обычно работают только со стилями, которые уже реализованы.
Параметры
style | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run First
С версии: 2.4
Сигнал “unrealize”
void user_function (GtkStyle *style, gpointer user_data)
Издается, когда аспекты стиля, специфичные для определённого визуального представления, очищаются. Подключение к этому сигналу может быть полезно, если виджету требуется кэшировать объекты в качестве данных объекта на GtkStyle. Этот сигнал предоставляет удобное место для освобождения таких кэшированных объектов.
Параметры
style | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run First
С версии: 2.4
© 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/GtkStyle.html