GtkStyle
GtkStyle — Устаревший объект, содержащий информацию о стиле виджетов
Функции
Свойства
| GtkStyleContext * | context | Чтение / Запись / Только для конструктора |
Типы и значения
| 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. Если стиль создан заново, параметр стиля будет unref'ed, а новый стиль будет иметь счетчик ссылок, принадлежащий вызывающей стороне.
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 и может измениться при переключении темы.
Параметры
Возвращает
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 | a 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 | a GtkStyle | |
source | the GtkIconSource specifying the icon to render | |
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 устарел и не должен использоваться в новом коде.
Вариант без vararg 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 | 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 используя заданные параметры.
Параметры
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 | a GtkStyle | |
cr | a 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 | a GtkStyle | |
cr | a 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.
Параметры
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 используя заданный стиль и состояние.
Параметры
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 используя заданный стиль, состояние и тип тени.
Параметры
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 | 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 используя заданный стиль и состояние.
Параметры
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() вместо этого
Рисует layout на cr используя заданные параметры.
Параметры
style | a GtkStyle | |
cr | a cairo_t | |
state_type | состояние | |
use_text | использовать ли текстовый или графический контекст переднего плана | |
widget | виджет. | [allow-none] |
detail | деталь стиля. | [allow-none] |
x | x координата начала | |
y | y координата начала | |
layout | 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 | 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 устарел начиная с версии 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 |
структура 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 | Идентификатор типа в формате quark | |
GQuark | Идентификатор свойства в формате quark, например “GtkScrollbar::spacing” | |
gchar * | Поле, аналогичное полю в GtkSettingsValue | |
GValue | Поле, аналогичное полю в GtkSettingsValue |
Подробное описание свойств
Свойство “context”
“context” GtkStyleContext *
GtkStyleContext для получения стиля.
Флаги: Чтение / Запись / Только при создании
Подробное описание сигналов
Сигнал “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.20/GtkStyle.html