Spec-Zone.ru › GTK 3.20

GtkStyle

GtkStyle — Устаревший объект, содержащий информацию о стиле виджетов

Функции

#define GTK_STYLE_ATTACHED()
GtkStyle * gtk_style_new ()
GtkStyle * gtk_style_copy ()
GtkStyle * gtk_style_attach ()
void gtk_style_detach ()
gboolean gtk_style_has_context ()
void gtk_style_set_background ()
void gtk_style_apply_default_background ()
gboolean gtk_style_lookup_color ()
GtkIconSet * gtk_style_lookup_icon_set ()
GdkPixbuf * gtk_style_render_icon ()
void gtk_style_get_style_property ()
void gtk_style_get_valist ()
void gtk_style_get ()
void gtk_paint_arrow ()
void gtk_paint_box ()
void gtk_paint_box_gap ()
void gtk_paint_check ()
void gtk_paint_diamond ()
void gtk_paint_extension ()
void gtk_paint_flat_box ()
void gtk_paint_focus ()
void gtk_paint_handle ()
void gtk_paint_hline ()
void gtk_paint_option ()
void gtk_paint_shadow ()
void gtk_paint_shadow_gap ()
void gtk_paint_slider ()
void gtk_paint_spinner ()
void gtk_paint_tab ()
void gtk_paint_vline ()
void gtk_paint_expander ()
void gtk_paint_layout ()
void gtk_paint_resize_grip ()
void gtk_draw_insertion_cursor ()
gboolean (*GtkRcPropertyParser) ()

Свойства

GtkStyleContext * context Чтение / Запись / Только для конструктора

Сигналы

void realize Run First
void unrealize Run First

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

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

a GtkStyle.

window

a GdkWindow.

Возвращает

Либо 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 для данного состояния.

Параметры

style

a GtkStyle

window

a GdkWindow

state_type

a state

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

the GdkColor to fill in.

[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

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). Размер (GtkIconSize)-1 означает рендеринг в размере источника и без масштабирования.

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

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

Параметры

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

property_name

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

value

a GValue where the value of the property being queried will be stored.

[out]

С версии: 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(). Используется в основном привязками языков.

Параметры

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

first_property_name

имя первого свойства стиля для получения

var_args

a va_list of pairs of property names and locations to return the property values, starting with the location for first_property_name .

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

Параметры

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

first_property_name

имя первого свойства стиля для получения

...

pairs of property names and locations to return the property values, starting with the location for first_property_name , terminated by NULL.

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

TRUE если наконечник стрелки должен быть заполнен

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

виджет (может быть NULL).

[allow-none]

detail

деталь стиля (может быть NULL).

[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

использовать ли текстовый или графический контекст переднего плана style

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

a GtkWidget

cr

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

location

местоположение, где нужно нарисовать курсор (location->width игнорируется)

is_primary

если курсор должен иметь основной цвет курсора.

direction

является ли курсор слева направо или справа налево. Никогда не должно быть GTK_TEXT_DIR_NONE

draw_arrow

TRUE для рисования направленной стрелки на курсоре. Должно быть FALSE, если курсор не разделен.

С версии: 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 fg[5];

Набор цветов переднего плана GdkColor

GdkColor bg[5];

Набор цветов фона GdkColor

GdkColor light[5];

Набор светлых GdkColor

GdkColor dark[5];

Набор тёмных GdkColor

GdkColor mid[5];

Набор средних GdkColor

GdkColor text[5];

Набор цветов текста GdkColor

GdkColor base[5];

Набор базовых GdkColor

GdkColor text_aa[5];

Цвет посередине между текстом/базовым

GdkColor black;

GdkColor для использования в качестве чёрного

GdkColor white;

GdkColor для использования в качестве белого

PangoFontDescription *font_desc;

PangoFontDescription

gint xthickness;

Толщина по оси X

gint ythickness;

Толщина по оси Y

cairo_pattern_t *background[5];

Набор фоновых 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);
};

Члены

realize ()

unrealize ()

copy ()

clone ()

init_from_rc ()

set_background ()

render_icon ()

draw_hline ()

draw_vline ()

draw_shadow ()

draw_arrow ()

draw_diamond ()

draw_box ()

draw_flat_box ()

draw_check ()

draw_option ()

draw_tab ()

draw_shadow_gap ()

draw_box_gap ()

draw_extension ()

draw_focus ()

draw_slider ()

draw_handle ()

draw_expander ()

draw_layout ()

draw_resize_grip ()

draw_spinner ()

перечисление 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 type_name;

Идентификатор типа в формате quark

GQuark property_name;

Идентификатор свойства в формате quark, например “GtkScrollbar::spacing”

gchar *origin;

Поле, аналогичное полю в GtkSettingsValue

GValue value;

Поле, аналогичное полю в 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

Spec-Zone.ru

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