Стиль Gtk
GtkStyle — Устаревший объект, хранящий информацию о стиле виджетов
Функции
Свойства
| GtkStyleContext * | context | Чтение / Запись / Только для создания |
Сигналы
| void | realize | Выполнить сначала |
| void | unrealize | Выполнить сначала |
Типы и значения
| GtkStyle | |
| struct | GtkStyleClass |
| enum | 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 | a 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 | a 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 | a GtkStyle |
gtk_style_has_context ()
gboolean
gtk_style_has_context (GtkStyle *style); gtk_style_has_context устарел и не должен использоваться в новом коде.
Возвращает, имеет ли style ассоциированный GtkStyleContext.
Параметры
style | a 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 и может измениться при переключении темы.
Параметры
style | a GtkStyle | |
color_name | имя логического цвета для поиска | |
color | GdkColor для заполнения. | [out] |
Возвращает
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] |
Возвращает
новый созданный GdkPixbuf , содержащий отрисованную иконку.
[transfer full]
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 устарело и не должно использоваться в новых кодах.
Не-вариант с переменным числом аргументов для gtk_style_get(). Используется в основном для языковых библиотек.
Параметры
С: 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 | a GtkStyle | |
cr | a cairo_t | |
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 с заданными параметрами.
Параметры
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_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 с использованием заданного стиля и состояния и типа тени, оставляя пробел с одной стороны.
Параметры
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 с заданными параметрами.
Параметры
style | стиль GtkStyle | |
cr | объект 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 с заданными параметрами.
Параметры
style | стиль GtkStyle | |
cr | объект 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 | объект cairo_t | |
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 с заданными параметрами.
Параметры
style | стиль GtkStyle | |
cr | объект cairo_t | |
state_type | состояние | |
shadow_type | тип тени | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
x | координата x начала рамки | |
y | координата y начала рамки | |
width | ширина рамки | |
height | высота рамки |
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 | a GtkStyle | |
cr | a cairo_t | |
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.
Parameters
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_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 с использованием заданного стиля и состояния.
Parameters
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 с заданными параметрами.
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_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 с использованием заданного стиля, состояния и типа тени.
Параметры
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_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_activity() вместо этого
Отрисовывает спиннер на window с заданными параметрами.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
widget | виджет (может быть | [allow-none] |
detail | деталь стиля (может быть | [allow-none] |
step | номер шага | |
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 с заданным стилем и состоянием.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
y1_ | координата y начала | |
y2_ | координата y конца | |
x | координата x |
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 устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_expander() вместо этого
Отрисовывает раздвижной элемент, используемый в GtkTreeView. x и y указывают центр раздвижного элемента. Размер раздвижного элемента определяется свойством стиля “expander-size” для widget . (Если виджет не указан или не имеет свойства “expander-size”, будет использован неуказанный размер по умолчанию, так как у вызывающего функции нет достаточной информации для позиционирования раздвижного элемента, это вряд ли полезно). Размером раздвижного элемента является expander_size пикселей в свёрнутом состоянии и expander_size пикселей в развернутом состоянии.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
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 устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_layout() вместо этого
Отображает макет на cr с заданными параметрами.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
use_text | использовать ли текст или графический контекст переднего плана | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
x | начало координат по оси X | |
y | начало координат по оси Y | |
layout | отображаемый макет |
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 устарело начиная с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_render_handle() вместо этого
Отображает маркер изменения размера в заданном прямоугольнике на cr с заданными параметрами.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
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 устарело начиная с версии 3.4 и не должно использоваться в новом коде.
Используйте gtk_render_insertion_cursor() вместо этого.
Отображает курсор ввода текста на 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 |
struct 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 | Идентификатор свойства, представленный как «кварк», например «GtkScrollbar::spacing» | |
gchar * | Поле, подобное тому, которое находится в GtkSettingsValue | |
GValue | Поле, подобное тому, которое находится в GtkSettingsValue |
Подробное описание свойств
Свойство “context”
“context” GtkStyleContext *
GtkStyleContext, для получения стиля.
Флаги: Чтение/Запись/Только для создания
Подробное описание сигналов
Сигнал “realize”
void user_function (GtkStyle *style, gpointer user_data)
Издаётся, когда стиль инициализирован для определённого визуального представления. Подключение к этому сигналу, вероятно, редко полезно, так как большинство приложений и виджетов обычно имеют дело со стилями, которые уже были реализованы.
Параметры
style | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить сначала
С версии: 2.4
Сигнал “unrealize”
void user_function (GtkStyle *style, gpointer user_data)
Издаётся, когда аспекты стиля, специфичные для определённого визуального представления, очищаются. Подключение к этому сигналу может быть полезным, если виджет хочет кэшировать объекты, как данные объектов на GtkStyle. Этот сигнал предоставляет удобное место для освобождения таких кэшированных объектов.
Параметры
style | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить сначала
С версии: 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.22/GtkStyle.html