Spec-Zone.ru › GTK 3.20

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 ()

Свойства

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

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

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

объект 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

объект 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

объект 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

объект GtkThemingEngine

Возвращает

Объект 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

объект 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

объект GtkThemingEngine

Возвращает

объект GdkScreen или NULL.

[transfer none]

gtk_theming_engine_get_state ()

GtkStateFlags
gtk_theming_engine_get_state (GtkThemingEngine *engine);

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

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

Параметры

engine

объект 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

объект 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

объект 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

a 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

a 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

a 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

a 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

a 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

a 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

a 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

a 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

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

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

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 не существует.

[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 }-${property_name}", где ${property_name} — заданное значение для 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”                     gchar *

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

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

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

Значение по умолчанию: 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.20/GtkThemingEngine.html

Spec-Zone.ru

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