Spec-Zone.ru › GTK 3.24

Стиль Gtk

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 Выполняется первым
void unrealize Выполняется первым

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

GtkStyle
struct GtkStyleClass
перечисление GtkExpanderStyle
GtkRcProperty

Иерархия объектов

    GObject
    ╰── GtkStyle

Включаемые файлы

#include <gtk/gtk.h>

Описание

Объект GtkStyle содержит информацию, определяющую внешний вид виджета.

В GTK+ 3.0 объект GtkStyle устарел и заменён на GtkStyleContext.

Каждый GtkWidget имеет связанный с ним объект GtkStyle, который используется при отрисовке этого виджета. Кроме того, объект GtkStyle содержит информацию о пяти возможных состояниях виджета, хотя не каждый виджет поддерживает все пять состояний; см. GtkStateType.

Как правило, GtkStyle виджета совпадает со стилем по умолчанию, установленным GTK+, и модифицируется движком темы.

Приложения обычно не должны использовать или изменять GtkStyle своих виджетов.

Функции

GTK_STYLE_ATTACHED()

#define GTK_STYLE_ATTACHED(style)       (GTK_STYLE (style)->attach_count > 0)

Параметры

style

объект GtkStyle.

Возвращает

признак того, прикреплён ли стиль к окну.

gtk_style_new ()

GtkStyle *
gtk_style_new (void);

gtk_style_new устарел начиная с версии 3.0 и не должен использоваться в новом коде.

Используйте GtkStyleContext

Создаёт новый объект GtkStyle.

Возвращает

новый объект GtkStyle.

gtk_style_copy ()

GtkStyle *
gtk_style_copy (GtkStyle *style);

gtk_style_copy устарел начиная с версии 3.0 и не должен использоваться в новом коде.

Используйте GtkStyleContext вместо этого

Создаёт копию объекта GtkStyle.

Параметры

style

объект GtkStyle

Возвращает

копию объекта style .

[transfer full]

gtk_style_attach ()

GtkStyle *
gtk_style_attach (GtkStyle *style,
                  GdkWindow *window);

gtk_style_attach устарел начиная с версии 3.0 и не должен использоваться в новом коде.

Используйте gtk_widget_style_attach() вместо этого

Прикрепляет стиль к окну; этот процесс выделяет цвета и создаёт GC для стиля — он специализирует его для определённого визуального представления. Процесс может включать создание нового стиля, если стиль уже был прикреплён к окну с другим стилем и визуальным представлением.

Поскольку эта функция может возвращать новый объект, её следует использовать следующим образом: style = gtk_style_attach (style, window)

[skip]

Параметры

style

объект GtkStyle.

window

объект GdkWindow.

Возвращает

либо style, либо новый созданный GtkStyle. Если стиль был создан заново, параметр style будет удалён, а счётчик ссылок нового стиля будет принадлежать вызывающей стороне.

gtk_style_detach ()

void
gtk_style_detach (GtkStyle *style);

gtk_style_detach устарел начиная с версии 3.0 и не должен использоваться в новом коде.

Используйте GtkStyleContext вместо этого

Открепляет стиль от окна. Если стиль больше ни к каким окнам не прикреплён, он перестал быть реализованным. См. gtk_style_attach().

Параметры

style

объект GtkStyle

gtk_style_has_context ()

gboolean
gtk_style_has_context (GtkStyle *style);

gtk_style_has_context устарел и не должен использоваться в новом коде.

Возвращает признак того, есть ли у style связанный GtkStyleContext.

Параметры

style

объект GtkStyle

Возвращает

TRUE если у style есть GtkStyleContext

С: 3.0

gtk_style_set_background ()

void
gtk_style_set_background (GtkStyle *style,
                          GdkWindow *window,
                          GtkStateType state_type);

gtk_style_set_background устарел начиная с версии 3.0 и не должен использоваться в новом коде.

Используйте gtk_style_context_set_background() вместо этого

Устанавливает фон window на цвет или пиксель фона, указанные в style для данного состояния.

Параметры

style

объект GtkStyle

window

объект GdkWindow

state_type

состояние

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

объект 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). Значение (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

стиль GtkStyle

widget_type

тип GType потомка GtkWidget

property_name

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

value

GValue, в котором будет храниться значение запрашиваемого свойства.

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

Вариант без varargs функции gtk_style_get(). Преимущественно используется языковыми библиотеками.

Параметры

style

стиль GtkStyle

widget_type

тип GType потомка GtkWidget

first_property_name

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

var_args

va_list пар имен свойств и расположений для возвращения значений свойств, начиная с расположения для 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

стиль GtkStyle

widget_type

тип GType потомка GtkWidget

first_property_name

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

...

пары имен свойств и расположений для возвращения значений свойств, начиная с расположения для first_property_name , завершающиеся 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

стиль GtkStyle

cr

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 используя заданный стиль, состояние и тип тени, оставляя просвет с одной стороны.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

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

widget

виджет.

[allow-none]

detail

детали стиля.

[allow-none]

x

координата x начала прямоугольника

y

координата y начала прямоугольника

width

ширина прямоугольника

height

высота прямоугольника

gap_side

сторона, с которой оставляется просвет

gap_x

начало позиции просвета

gap_width

ширина просвета

gtk_paint_check ()

void
gtk_paint_check (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkShadowType shadow_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint x,
                 gint y,
                 gint width,
                 gint height);

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

Используйте gtk_render_check() вместо этого

Рисует индикатор чекбокса в заданном прямоугольнике на cr с заданными параметрами.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

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

widget

виджет.

[allow-none]

detail

детали стиля.

[allow-none]

x

координата x начала прямоугольника для отрисовки чекбокса

y

координата y начала прямоугольника для отрисовки чекбокса

width

ширина прямоугольника для отрисовки чекбокса

height

высота прямоугольника для отрисовки чекбокса

gtk_paint_diamond ()

void
gtk_paint_diamond (GtkStyle *style,
                   cairo_t *cr,
                   GtkStateType state_type,
                   GtkShadowType shadow_type,
                   GtkWidget *widget,
                   const gchar *detail,
                   gint x,
                   gint y,
                   gint width,
                   gint height);

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

Используйте cairo вместо этого

Рисует ромб в заданном прямоугольнике на window с заданными параметрами.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

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

widget

виджет.

[allow-none]

detail

детали стиля.

[allow-none]

x

координата x начала прямоугольника для отрисовки ромба

y

координата y начала прямоугольника для отрисовки ромба

width

ширина прямоугольника для отрисовки ромба

height

высота прямоугольника для отрисовки ромба

gtk_paint_extension ()

void
gtk_paint_extension (GtkStyle *style,
                     cairo_t *cr,
                     GtkStateType state_type,
                     GtkShadowType shadow_type,
                     GtkWidget *widget,
                     const gchar *detail,
                     gint x,
                     gint y,
                     gint width,
                     gint height,
                     GtkPositionType gap_side);

gtk_paint_extension устарело начиная с версии 3.0 и не должно использоваться в новом коде.

Используйте gtk_render_extension() вместо этого

Отображает расширение, т.е. вкладку вкладки.

Параметры

style

стиль GtkStyle

cr

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

стиль GtkStyle

cr

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

стиль GtkStyle

cr

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_icon() и GtkStyleContext, на котором вы рисуете.

Отрисовывает индикатор вращения на 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 has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_expander() instead

Рисует раскрывающийся элемент, как используется в GtkTreeView. x и y указывают центр раскрывающегося элемента. Размер раскрывающегося элемента определяется свойством стиля “expander-size” widget . (Если виджет не указан или не имеет свойства “expander-size”, будет использован не указанный размер по умолчанию, поскольку вызывающий объект не имеет достаточной информации для позиционирования раскрывающегося элемента, это, вероятно, не полезно.) Высота раскрывающегося элемента составляет expander_size пикселей в свернутом положении и expander_size пикселей в ширину в развернутом положении.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

виджет.

[allow-none]

detail

подробности стиля.

[allow-none]

x

позиция x для отрисовки раскрывающегося элемента

y

позиция y для отрисовки раскрывающегося элемента

expander_style

стиль для отрисовки раскрывающегося элемента; определяет, свернут ли раскрывающийся элемент, развернут или находится в промежуточном состоянии.

gtk_paint_layout ()

void
gtk_paint_layout (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  gboolean use_text,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  PangoLayout *layout);

gtk_paint_layout has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_layout() instead

Рисует макет на cr используя заданные параметры.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

a state

use_text

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

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 has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_handle() instead

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

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

виджет.

[allow-none]

detail

подробности стиля.

[allow-none]

edge

грань, в которой нужно нарисовать маркер изменения размера

x

начало x прямоугольника, в котором нужно нарисовать маркер изменения размера

y

начало y прямоугольника, в котором нужно нарисовать маркер изменения размера

width

ширина прямоугольника, в котором нужно нарисовать маркер изменения размера

height

высота прямоугольника, в котором нужно нарисовать маркер изменения размера

gtk_draw_insertion_cursor ()

void
gtk_draw_insertion_cursor (GtkWidget *widget,
                           cairo_t *cr,
                           const GdkRectangle *location,
                           gboolean is_primary,
                           GtkTextDirection direction,
                           gboolean draw_arrow);

gtk_draw_insertion_cursor has been deprecated since version 3.4 and should not be used in newly-written code.

Use gtk_render_insertion_cursor() instead.

Рисует текстовый курсор на cr в location . Это не функция стиля, а просто вспомогательная функция для отрисовки стандартной формы курсора.

Параметры

widget

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;

идентификатор типа, представленный как GQuark

GQuark property_name;

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

gchar *origin;

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

GValue value;

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

Подробное описание свойств

Свойство “context”

  “context”                  GtkStyleContext *

GtkStyleContext для получения стиля.

Владелец: GtkStyle

Флаги: Чтение / Запись / Только для создания

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

Сигнал “realize”

void
user_function (GtkStyle *style,
               gpointer  user_data)

Издается, когда стиль инициализирован для определённого визуального представления. Подключение к этому сигналу вряд ли окажется полезным, поскольку приложения и виджеты обычно работают только со стилями, которые уже реализованы.

Параметры

style

объект, получивший сигнал

user_data

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

Флаги: Run First

С версии: 2.4

Сигнал “unrealize”

void
user_function (GtkStyle *style,
               gpointer  user_data)

Издается, когда аспекты стиля, специфичные для определённого визуального представления, очищаются. Подключение к этому сигналу может быть полезно, если виджету требуется кэшировать объекты в качестве данных объекта на GtkStyle. Этот сигнал предоставляет удобное место для освобождения таких кэшированных объектов.

Параметры

style

объект, получивший сигнал

user_data

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

Флаги: Run First

С версии: 2.4

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

Spec-Zone.ru

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