Spec-Zone.ru › GTK 3.22

Стиль 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
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. Если стиль создан заново, параметр style будет убран, и у нового стиля будет счётчик ссылок, принадлежащий вызывающему коду.

gtk_style_detach ()

void
gtk_style_detach (GtkStyle *style);

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

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

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

Параметры

style

a GtkStyle

gtk_style_has_context ()

gboolean
gtk_style_has_context (GtkStyle *style);

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

Возвращает, имеет ли style ассоциированный GtkStyleContext.

Параметры

style

a GtkStyle

Возвращает

TRUE, если style имеет GtkStyleContext

С: 3.0

gtk_style_set_background ()

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

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

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

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

Параметры

style

a GtkStyle

window

a 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

a GtkStyle

color_name

имя логического цвета для поиска

color

GdkColor для заполнения.

[out]

Возвращает

TRUE, если отображение было найдено.

С: 2.10

gtk_style_lookup_icon_set ()

GtkIconSet *
gtk_style_lookup_icon_set (GtkStyle *style,
                           const gchar *stock_id);

gtk_style_lookup_icon_set устарело с версии 3.0 и не должно использоваться в новых кодах.

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

Ищет stock_id в наборах иконок, связанных с style и с фабрикой по умолчанию, возвращая набор иконок, если найден, иначе NULL.

Параметры

style

стиль GtkStyle

stock_id

имя иконки

Возвращает

набор иконок stock_id .

[transfer none]

gtk_style_render_icon ()

GdkPixbuf *
gtk_style_render_icon (GtkStyle *style,
                       const GtkIconSource *source,
                       GtkTextDirection direction,
                       GtkStateType state,
                       GtkIconSize size,
                       GtkWidget *widget,
                       const gchar *detail);

gtk_style_render_icon устарело с версии 3.0 и не должно использоваться в новых кодах.

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

Отображает иконку, указанную в source в заданном size в соответствии с заданными параметрами и возвращает результат в pixbuf.

Параметры

style

стиль GtkStyle

source

GtkIconSource , определяющий иконку для отображения

direction

направление текста

state

состояние

size

размер отображения иконки (GtkIconSize). Значение (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 устарело и не должно использоваться в новых кодах.

Не-вариант с переменным числом аргументов для 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

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

стиль GtkStyle

cr

объект cairo_t

state_type

состояние

shadow_type

тип тени

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gtk_paint_diamond ()

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

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

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

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

Параметры

style

стиль GtkStyle

cr

объект cairo_t

state_type

состояние

shadow_type

тип тени

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gtk_paint_extension ()

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

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

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

Рисует расширение, например, вкладку вкладки.

Параметры

style

стиль GtkStyle

cr

объект cairo_t

state_type

состояние

shadow_type

тип тени

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

координата x начала расширения

y

координата y начала расширения

width

ширина расширения

height

высота расширения

gap_side

сторона, к которой присоединено расширение

gtk_paint_flat_box ()

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

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

Используйте gtk_render_frame() и gtk_render_background() вместо этого.

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

Параметры

style

стиль GtkStyle

cr

объект cairo_t

state_type

состояние

shadow_type

тип тени

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

координата x начала рамки

y

координата y начала рамки

width

ширина рамки

height

высота рамки

gtk_paint_focus ()

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

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

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

Отображает индикатор фокуса вокруг заданного прямоугольника на cr с использованием заданного стиля.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gtk_paint_handle ()

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

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

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

Отображает маркер, используемый в GtkHandleBox и GtkPaned.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тип тени для отображения

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

начало координаты x маркера

y

начало координаты y маркера

width

ширина маркера

height

высота маркера

orientation

ориентация маркера

gtk_paint_hline ()

void
gtk_paint_hline (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint x1,
                 gint x2,
                 gint y);

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

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

Отображает горизонтальную линию от (x1 , y ) до (x2 , y ) в cr с использованием заданного стиля и состояния.

Parameters

style

a GtkStyle

cr

a caio_t

state_type

состояние

widget

виджет.

[allow-none]

detail

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

[allow-none]

x1

начальная координата x

x2

конечная координата x

y

координата y

gtk_paint_option ()

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

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

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

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

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тип тени для отображения

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

начало координаты x прямоугольника для отображения опции

y

начало координаты y прямоугольника для отображения опции

width

ширина прямоугольника для отображения опции

height

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

gtk_paint_shadow ()

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

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

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

Отображает тень вокруг заданного прямоугольника в cr с использованием заданного стиля, состояния и типа тени.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тип тени для отображения

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gtk_paint_shadow_gap ()

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

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

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

Отображает тень вокруг заданного прямоугольника в cr с использованием заданного стиля, состояния и типа тени, оставляя зазор с одной стороны.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тип тени для отображения

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gap_side

сторона, на которой оставить зазор

gap_x

начальная позиция зазора

gap_width

ширина зазора

gtk_paint_slider ()

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

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

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

Отображает ползунок в заданном прямоугольнике на cr с использованием заданного стиля и ориентации.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тень

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

orientation

используемая ориентация

gtk_paint_spinner ()

void
gtk_paint_spinner (GtkStyle *style,
                   cairo_t *cr,
                   GtkStateType state_type,
                   GtkWidget *widget,
                   const gchar *detail,
                   guint step,
                   gint x,
                   gint y,
                   gint width,
                   gint height);

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

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

Отрисовывает спиннер на window с заданными параметрами.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

widget

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

[allow-none]

detail

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

[allow-none]

step

номер шага

x

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

y

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

width

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

height

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

gtk_paint_tab ()

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

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

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

Отрисовывает вкладку меню (т.е. стрелки вверх и вниз) в заданном прямоугольнике на cr с заданными параметрами.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

shadow_type

тип тени

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

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

y

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

width

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

height

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

gtk_paint_vline ()

void
gtk_paint_vline (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint y1_,
                 gint y2_,
                 gint x);

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

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

Отрисовывает вертикальную линию от (x , y1_ ) до (x , y2_ ) в cr с заданным стилем и состоянием.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

widget

виджет.

[allow-none]

detail

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

[allow-none]

y1_

координата y начала

y2_

координата y конца

x

координата x

gtk_paint_expander ()

void
gtk_paint_expander (GtkStyle *style,
                    cairo_t *cr,
                    GtkStateType state_type,
                    GtkWidget *widget,
                    const gchar *detail,
                    gint x,
                    gint y,
                    GtkExpanderStyle expander_style);

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

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

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

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

widget

виджет.

[allow-none]

detail

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

[allow-none]

x

положение x для отрисовки раздвижного элемента

y

положение y для отрисовки раздвижного элемента

expander_style

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

gtk_paint_layout ()

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

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

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

Отображает макет на cr с заданными параметрами.

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

use_text

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

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

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

Параметры

style

a GtkStyle

cr

a cairo_t

state_type

состояние

widget

виджет.

[allow-none]

detail

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

[allow-none]

edge

грань, на которой отобразить маркер

x

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

y

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

width

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

height

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

gtk_draw_insertion_cursor ()

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

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

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

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

Параметры

widget

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

struct GtkStyleClass

struct GtkStyleClass {
  GObjectClass parent_class;


  /* Initialize for a particular visual. style->visual
   * will have been set at this point. Will typically chain
   * to parent.
   */
  void (*realize)               (GtkStyle               *style);

  /* Clean up for a particular visual. Will typically chain
   * to parent.
   */
  void (*unrealize)             (GtkStyle               *style);

  /* Make style an exact duplicate of src.
   */
  void (*copy)                  (GtkStyle               *style,
                                 GtkStyle               *src);

  /* Create an empty style of the same type as this style.
   * The default implementation, which does
   * g_object_new (G_OBJECT_TYPE (style), NULL);
   * should work in most cases.
   */
  GtkStyle *(*clone)             (GtkStyle               *style);

  /* Initialize the GtkStyle with the values in the GtkRcStyle.
   * should chain to the parent implementation.
   */
  void     (*init_from_rc)      (GtkStyle               *style,
                                 GtkRcStyle             *rc_style);

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


  GdkPixbuf * (* render_icon)   (GtkStyle               *style,
                                 const GtkIconSource    *source,
                                 GtkTextDirection        direction,
                                 GtkStateType            state,
                                 GtkIconSize             size,
                                 GtkWidget              *widget,
                                 const gchar            *detail);

  /* Drawing functions
   */

  void (*draw_hline)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x1,
                                 gint                    x2,
                                 gint                    y);
  void (*draw_vline)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    y1_,
                                 gint                    y2_,
                                 gint                    x);
  void (*draw_shadow)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_arrow)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 GtkArrowType            arrow_type,
                                 gboolean                fill,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_diamond)          (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_box)              (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_flat_box)         (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_check)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_option)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_tab)              (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_shadow_gap)       (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side,
                                 gint                    gap_x,
                                 gint                    gap_width);
  void (*draw_box_gap)          (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side,
                                 gint                    gap_x,
                                 gint                    gap_width);
  void (*draw_extension)        (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side);
  void (*draw_focus)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_slider)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);
  void (*draw_handle)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);

  void (*draw_expander)         (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 GtkExpanderStyle        expander_style);
  void (*draw_layout)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 gboolean                use_text,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 PangoLayout            *layout);
  void (*draw_resize_grip)      (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 GdkWindowEdge           edge,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_spinner)          (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 guint                   step,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
};

Члены

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 property_name;

Идентификатор свойства, представленный как «кварк», например «GtkScrollbar::spacing»

gchar *origin;

Поле, подобное тому, которое находится в GtkSettingsValue

GValue value;

Поле, подобное тому, которое находится в GtkSettingsValue

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

Свойство “context”

  “context”                  GtkStyleContext *

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

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

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

Сигнал “realize”

void
user_function (GtkStyle *style,
               gpointer  user_data)

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

Параметры

style

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

user_data

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

Флаги: Выполнить сначала

С версии: 2.4

Сигнал “unrealize”

void
user_function (GtkStyle *style,
               gpointer  user_data)

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

Параметры

style

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

user_data

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

Флаги: Выполнить сначала

С версии: 2.4

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

Spec-Zone.ru

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