Spec-Zone.ru › GTK 3.22

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 * name Чтение / Запись / Только для создания

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

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

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

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

Параметры

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

Код должен использовать свойства по умолчанию, предоставляемые 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 for the new property

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

Spec-Zone.ru

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