Spec-Zone.ru › GTK 3.24

GtkThemingEngine

GtkThemingEngine — рендеры оформления

Функции

void gtk_theming_engine_get ()
GtkTextDirection gtk_theming_engine_get_direction ()
GtkJunctionSides gtk_theming_engine_get_junction_sides ()
const GtkWidgetPath * gtk_theming_engine_get_path ()
void gtk_theming_engine_get_property ()
GdkScreen * gtk_theming_engine_get_screen ()
GtkStateFlags gtk_theming_engine_get_state ()
void gtk_theming_engine_get_style ()
void gtk_theming_engine_get_style_property ()
void gtk_theming_engine_get_style_valist ()
void gtk_theming_engine_get_valist ()
void gtk_theming_engine_get_color ()
void gtk_theming_engine_get_background_color ()
void gtk_theming_engine_get_border_color ()
void gtk_theming_engine_get_border ()
void gtk_theming_engine_get_padding ()
void gtk_theming_engine_get_margin ()
const PangoFontDescription * gtk_theming_engine_get_font ()
gboolean gtk_theming_engine_has_class ()
gboolean gtk_theming_engine_has_region ()
gboolean gtk_theming_engine_lookup_color ()
gboolean gtk_theming_engine_state_is_running ()
GtkThemingEngine * gtk_theming_engine_load ()
void gtk_theming_engine_register_property ()

Свойства

char * имя Чтение/Запись/Только для создания

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

struct GtkThemingEngineClass
struct GtkThemingEngine

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

    GObject
    ╰── GtkThemingEngine

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkThemingEngine был объектом, используемым для рендеринга оформленных содержимого в виджетах GTK+. Он позволял переопределять стандартную реализацию функций рендеринга GTK+, позволяя загружать движки в качестве модулей.

GtkThemingEngine устарел в GTK+ 3.14 и будет игнорироваться для рендеринга. Улучшения в CSS-оформлении достаточно, чтобы оформители достигали своих целей без необходимости модификации исходного кода.

Функции

gtk_theming_engine_get ()

void
gtk_theming_engine_get (GtkThemingEngine *engine,
                        GtkStateFlags state,
                        ...);

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

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

Параметры

engine

a GtkThemingEngine

state

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

...

пары имя свойства/значение результата, за которыми следует NULL

С: 3.0

gtk_theming_engine_get_direction ()

GtkTextDirection
gtk_theming_engine_get_direction (GtkThemingEngine *engine);

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

Используйте gtk_theming_engine_get_state() и проверьте GTK_STATE_FLAG_DIR_LTR и GTK_STATE_FLAG-DIR_RTL вместо этого.

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

Параметры

engine

a GtkThemingEngine

Возвращает

направление виджета

С: 3.0

gtk_theming_engine_get_junction_sides ()

GtkJunctionSides
gtk_theming_engine_get_junction_sides (GtkThemingEngine *engine);

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

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

Параметры

engine

a GtkThemingEngine

Возвращает

направление виджета

С: 3.0

gtk_theming_engine_get_path ()

const GtkWidgetPath *
gtk_theming_engine_get_path (GtkThemingEngine *engine);

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

Возвращает путь виджета, используемый для сопоставления стилей.

Параметры

engine

a GtkThemingEngine

Возвращает

A GtkWidgetPath.

[transfer none]

С: 3.0

gtk_theming_engine_get_property ()

void
gtk_theming_engine_get_property (GtkThemingEngine *engine,
                                 const gchar *property,
                                 GtkStateFlags state,
                                 GValue *value);

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

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

Параметры

engine

a GtkThemingEngine

property

имя свойства

state

состояние для получения значения

value

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

[out][transfer full]

С: 3.0

gtk_theming_engine_get_screen ()

GdkScreen *
gtk_theming_engine_get_screen (GtkThemingEngine *engine);

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

Возвращает GdkScreen, на который engine в настоящее время выполняет отрисовку.

Параметры

engine

a GtkThemingEngine

Возвращает

a GdkScreen, или NULL.

[nullable][transfer none]

gtk_theming_engine_get_state ()

GtkStateFlags
gtk_theming_engine_get_state (GtkThemingEngine *engine);

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

Возвращает состояние, используемое при отрисовке.

Параметры

engine

a GtkThemingEngine

Возвращает

флаги состояния

С: 3.0

gtk_theming_engine_get_style ()

void
gtk_theming_engine_get_style (GtkThemingEngine *engine,
                              ...);

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

Получает несколько свойств стиля виджета из engine в соответствии со стилем текущего отображаемого содержимого.

Параметры

engine

a GtkThemingEngine

...

пары имя свойства/значение результата, за которыми следует NULL

С: 3.0

gtk_theming_engine_get_style_property ()

void
gtk_theming_engine_get_style_property (GtkThemingEngine *engine,
                                       const gchar *property_name,
                                       GValue *value);

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

Получает значение свойства стиля виджета.

Параметры

engine

a GtkThemingEngine

property_name

имя свойства стиля виджета

value

Место для возврата значения свойства, освободите с помощью g_value_unset() после использования.

[out]

С: 3.0

gtk_theming_engine_get_style_valist ()

void
gtk_theming_engine_get_style_valist (GtkThemingEngine *engine,
                                     va_list args);

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

Получает несколько свойств стиля виджета из engine в соответствии со стилем текущего рендеринга.

Параметры

engine

объект GtkThemingEngine

args

va_list пар имя свойства/место возврата значения, за которым следует NULL

С момента: 3.0

gtk_theming_engine_get_valist ()

void
gtk_theming_engine_get_valist (GtkThemingEngine *engine,
                               GtkStateFlags state,
                               va_list args);

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

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

Параметры

engine

объект GtkThemingEngine

state

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

args

va_list пар имя свойства/место возврата значения, за которым следует NULL

С момента: 3.0

gtk_theming_engine_get_color ()

void
gtk_theming_engine_get_color (GtkThemingEngine *engine,
                              GtkStateFlags state,
                              GdkRGBA *color);

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

Получает цвет переднего плана для заданного состояния.

Параметры

engine

объект GtkThemingEngine

state

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

color

значение цвета переднего плана.

[out]

С момента: 3.0

gtk_theming_engine_get_background_color ()

void
gtk_theming_engine_get_background_color
                               (GtkThemingEngine *engine,
                                GtkStateFlags state,
                                GdkRGBA *color);

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

Получает цвет фона для заданного состояния.

Параметры

engine

объект GtkThemingEngine

state

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

color

значение цвета фона.

[out]

С момента: 3.0

gtk_theming_engine_get_border_color ()

void
gtk_theming_engine_get_border_color (GtkThemingEngine *engine,
                                     GtkStateFlags state,
                                     GdkRGBA *color);

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

Получает цвет границы для заданного состояния.

Параметры

engine

объект GtkThemingEngine

state

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

color

значение цвета границы.

[out]

С момента: 3.0

gtk_theming_engine_get_border ()

void
gtk_theming_engine_get_border (GtkThemingEngine *engine,
                               GtkStateFlags state,
                               GtkBorder *border);

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

Получает границу для заданного состояния как GtkBorder.

Параметры

engine

объект GtkThemingEngine

state

состояние для получения границы

border

возвращаемое значение параметров границы.

[out]

С момента: 3.0

gtk_theming_engine_get_padding ()

void
gtk_theming_engine_get_padding (GtkThemingEngine *engine,
                                GtkStateFlags state,
                                GtkBorder *padding);

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

Получает отступы для заданного состояния как GtkBorder.

Параметры

engine

объект GtkThemingEngine

state

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

padding

возвращаемое значение параметров отступов.

[out]

С момента: 3.0

gtk_theming_engine_get_margin ()

void
gtk_theming_engine_get_margin (GtkThemingEngine *engine,
                               GtkStateFlags state,
                               GtkBorder *margin);

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

Получает отступ для заданного состояния как GtkBorder.

Параметры

engine

объект GtkThemingEngine

state

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

margin

возвращаемое значение параметров отступа.

[out]

С момента: 3.0

gtk_theming_engine_get_font ()

const PangoFontDescription *
gtk_theming_engine_get_font (GtkThemingEngine *engine,
                             GtkStateFlags state);

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

Используйте gtk_theming_engine_get()

Возвращает описание шрифта для данного состояния.

Параметры

engine

a GtkThemingEngine

state

состояние, для которого нужно получить шрифт

Возвращаемое значение

the PangoFontDescription для данного состояния. Этот объект принадлежит GTK+ и не должен освобождаться.

[transfer none]

С: 3.0

gtk_theming_engine_has_class ()

gboolean
gtk_theming_engine_has_class (GtkThemingEngine *engine,
                              const gchar *style_class);

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

Возвращает TRUE, если текущее отображение имеет определенное имя класса.

Параметры

engine

a GtkThemingEngine

style_class

имя класса для поиска

Возвращаемое значение

TRUE если engine имеет class_name определённое

С: 3.0

gtk_theming_engine_has_region ()

gboolean
gtk_theming_engine_has_region (GtkThemingEngine *engine,
                               const gchar *style_region,
                               GtkRegionFlags *flags);

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

Возвращает TRUE, если текущее отображение содержит определённую область. Если flags_return не равно NULL, то оно устанавливается в флаги, влияющие на область.

Параметры

engine

a GtkThemingEngine

style_region

имя области

flags

место для флагов области.

[out][allow-none]

Возвращаемое значение

TRUE если область определена

С: 3.0

gtk_theming_engine_lookup_color ()

gboolean
gtk_theming_engine_lookup_color (GtkThemingEngine *engine,
                                 const gchar *color_name,
                                 GdkRGBA *color);

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

Ищет и разрешает имя цвета в цветовой карте текущего стиля.

Параметры

engine

a GtkThemingEngine

color_name

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

color

место для возвращаемого цвета.

[out]

Возвращаемое значение

TRUE если color_name был найден и разрешён, FALSE в противном случае

С: 3.0

gtk_theming_engine_state_is_running ()

gboolean
gtk_theming_engine_state_is_running (GtkThemingEngine *engine,
                                     GtkStateType state,
                                     gdouble *progress);

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

Всегда возвращает FALSE

Возвращает TRUE, если для текущей области выполняется анимация перехода (см. gtk_style_context_push_animatable_region()).

Если progress не равно NULL, то туда будет возвращён прогресс анимации. 0.0 означает, что состояние ближе к FALSE, а 1.0 означает, что оно ближе к TRUE. Это означает, что анимации перехода будут выполняться от 0 до 1, когда state устанавливается в TRUE, и от 1 до 0, когда оно устанавливается в FALSE.

Параметры

engine

a GtkThemingEngine

state

состояние виджета

progress

место для прогресса перехода.

[out]

Возвращаемое значение

TRUE если для state выполняется анимация перехода.

С: 3.0

gtk_theming_engine_load ()

GtkThemingEngine *
gtk_theming_engine_load (const gchar *name);

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

Загружает и инициализирует модуль движка темы из стандартных каталогов.

Параметры

name

Название движка темы для загрузки

Возвращаемое значение

Движок темы или NULL если движок name не существует.

[nullable][transfer none]

gtk_theming_engine_register_property ()

void
gtk_theming_engine_register_property (const gchar *name_space,
                                      GtkStylePropertyParser parse_func,
                                      GParamSpec *pspec);

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

Код должен использовать свойства по умолчанию, предоставляемые CSS.

Регистрирует свойство, чтобы его можно было использовать в формате файла CSS. В файле CSS свойство будет выглядеть как "-${name_space }-${имя_свойства}". где ${имя_свойства} — заданное значение для pspec. name_space обычно является именем движка темы.

Для любого типа может быть предоставлена parse_func, и эта функция используется для преобразования любого значения свойства (между «:» и «;») в CSS в необходимый GValue. Для базовых типов уже есть встроенная поддержка разбора, поэтому NULL может быть предоставлена для этих случаев.

Движки должны гарантировать, что регистрация свойства происходит ровно один раз. Обычно GTK+ работает с движками тем как с синглтонами, поэтому это должно гарантироваться, но имейте это в виду, создавая GtkThemeEngines самостоятельно.

Чтобы использовать пользовательские зарегистрированные свойства в файле CSS, убедитесь, что движок загружен первым, указав свойство движка, либо в предыдущем правиле, либо в том же самом.

[skip]

Параметры

name_space

пространство имён для имени свойства

parse_func

функция разбора для использования, или NULL.

[nullable]

pspec

the GParamSpec для нового свойства

С: 3.0

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

struct GtkThemingEngineClass

struct GtkThemingEngineClass {
  GObjectClass parent_class;

  void (* render_line) (GtkThemingEngine *engine,
                        cairo_t          *cr,
                        gdouble           x0,
                        gdouble           y0,
                        gdouble           x1,
                        gdouble           y1);
  void (* render_background) (GtkThemingEngine *engine,
                              cairo_t          *cr,
                              gdouble           x,
                              gdouble           y,
                              gdouble           width,
                              gdouble           height);
  void (* render_frame) (GtkThemingEngine *engine,
                         cairo_t          *cr,
                         gdouble           x,
                         gdouble           y,
                         gdouble           width,
                         gdouble           height);
  void (* render_frame_gap) (GtkThemingEngine *engine,
                             cairo_t          *cr,
                             gdouble           x,
                             gdouble           y,
                             gdouble           width,
                             gdouble           height,
                             GtkPositionType   gap_side,
                             gdouble           xy0_gap,
                             gdouble           xy1_gap);
  void (* render_extension) (GtkThemingEngine *engine,
                             cairo_t          *cr,
                             gdouble           x,
                             gdouble           y,
                             gdouble           width,
                             gdouble           height,
                             GtkPositionType   gap_side);
  void (* render_check) (GtkThemingEngine *engine,
                         cairo_t          *cr,
                         gdouble           x,
                         gdouble           y,
                         gdouble           width,
                         gdouble           height);
  void (* render_option) (GtkThemingEngine *engine,
                          cairo_t          *cr,
                          gdouble           x,
                          gdouble           y,
                          gdouble           width,
                          gdouble           height);
  void (* render_arrow) (GtkThemingEngine *engine,
                         cairo_t          *cr,
                         gdouble           angle,
                         gdouble           x,
                         gdouble           y,
                         gdouble           size);
  void (* render_expander) (GtkThemingEngine *engine,
                            cairo_t          *cr,
                            gdouble           x,
                            gdouble           y,
                            gdouble           width,
                            gdouble           height);
  void (* render_focus) (GtkThemingEngine *engine,
                         cairo_t          *cr,
                         gdouble           x,
                         gdouble           y,
                         gdouble           width,
                         gdouble           height);
  void (* render_layout) (GtkThemingEngine *engine,
                          cairo_t          *cr,
                          gdouble           x,
                          gdouble           y,
                          PangoLayout      *layout);
  void (* render_slider) (GtkThemingEngine *engine,
                          cairo_t          *cr,
                          gdouble           x,
                          gdouble           y,
                          gdouble           width,
                          gdouble           height,
                          GtkOrientation    orientation);
  void (* render_handle)    (GtkThemingEngine *engine,
                             cairo_t          *cr,
                             gdouble           x,
                             gdouble           y,
                             gdouble           width,
                             gdouble           height);
  void (* render_activity) (GtkThemingEngine *engine,
                            cairo_t          *cr,
                            gdouble           x,
                            gdouble           y,
                            gdouble           width,
                            gdouble           height);

  GdkPixbuf * (* render_icon_pixbuf) (GtkThemingEngine    *engine,
                                      const GtkIconSource *source,
                                      GtkIconSize          size);
  void (* render_icon) (GtkThemingEngine *engine,
                        cairo_t          *cr,
			GdkPixbuf        *pixbuf,
                        gdouble           x,
                        gdouble           y);
  void (* render_icon_surface) (GtkThemingEngine *engine,
				cairo_t          *cr,
				cairo_surface_t  *surface,
				gdouble           x,
				gdouble           y);
};

Базовый класс для движков тем.

Члены

render_line ()

Отображает линию между двумя точками.

render_background ()

Отображает область фона региона виджета.

render_frame ()

Отображает рамку вокруг области виджета.

render_frame_gap ()

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

render_extension ()

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

render_check ()

Отображает галочку, как в GtkCheckButton.

render_option ()

Отображает опцию, как в GtkRadioButton.

render_arrow ()

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

render_expander ()

Отображает элемент, который откроет/расширит часть пользовательского интерфейса, как в GtkExpander.

render_focus ()

Отображает индикатор фокуса.

render_layout ()

Отображает PangoLayout

render_slider ()

Отображает элемент управления ползунком, как в GtkScale.

render_handle ()

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

render_activity ()

Отображает область, отображающую активность, например, в GtkSpinner или GtkProgressBar.

render_icon_pixbuf ()

Отображает значок как GdkPixbuf.

render_icon ()

Отображает значок, заданный как GdkPixbuf.

render_icon_surface ()

Отображает значок, заданный как cairo_surface_t.

struct GtkThemingEngine

struct GtkThemingEngine;

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

Свойство “name”

  “name”                     char *

Имя движка тем, это имя будет использовано при регистрации пользовательских свойств. Для движка тем с именем "Clearlooks", регистрирующего пользовательское свойство "glossy", его можно сослаться в файле CSS как

* {
    engine: someengine;
    -SomeEngine-custom-property: 2;
}

Владелец: GtkThemingEngine

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

Значение по умолчанию: NULL

С: 3.0

См. также

GtkStyleContext

© 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/GtkThemingEngine.html

Spec-Zone.ru

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