GtkThemingEngine
GtkThemingEngine — Рендеры оформления
Функции
Типы и значения
| 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 | состояние для получения значений | |
... | пара пары имя свойства / возвращаемое значение, за которыми следует |
С версии: 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 |
С версии: 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 | место для возвращаемого значения свойства; необходимо освободить эту память с помощью | [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 |
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 | |
... | пара пары имя свойства / возвращаемое значение, за которыми следует |
С версии: 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 | место для возвращаемого значения свойства; освободите с помощью | [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 | ||
args | va_list пар имя свойства/местоположение для возвращаемого значения, за которым следует |
С: 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 | ||
state | состояние для извлечения значений | |
args | va_list пар имя свойства/местоположение для возвращаемого значения, за которым следует |
С: 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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
color_name | имя цвета для поиска | |
color | место возвращения найденного цвета. | [out] |
С: 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 | ||
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 | Имя движка темы для загрузки |
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 | функция разбора для использования, или | [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);
};
Базовый класс для движков тем.
Члены
| Отображает линию между двумя точками. | |
| Отображает область фона региона виджета. | |
| Отображает рамку вокруг области виджета. | |
| Отображает рамку вокруг области виджета с пропуском. | |
| Отображает расширение поля, обычно вкладку вкладки. | |
| Отображает галочку, как в GtkCheckButton. | |
| Отображает вариант, как в GtkRadioButton. | |
| Отображает стрелку, указывающую в определённом направлении. | |
| Отображает элемент, который раскроет/расширит часть пользовательского интерфейса, как в GtkExpander. | |
| Отображает индикатор фокуса. | |
| Отображает PangoLayout | |
| Отображает элемент управления ползунком, как в GtkScale. | |
| Отображает ручку для перемещения элементов пользовательского интерфейса, как в GtkPaned. | |
| Отображает область, отображающую активность, например, в GtkSpinner или GtkProgressBar. | |
| Отображает значок как GdkPixbuf. | |
| Отображает значок, заданный как GdkPixbuf. | |
| Отображает значок, заданный как cairo_surface_t. |
struct GtkThemingEngine
struct GtkThemingEngine;
Подробные сведения о свойствах
Свойство “name”
“name” gchar *
Имя движка темы. Это имя будет использовано при регистрации пользовательских свойств. Для движка темы с именем «Clearlooks», регистрирующего пользовательское свойство «glossy», оно может быть указано в файле CSS как
* {
engine: someengine;
-SomeEngine-custom-property: 2;
}Флаги: Чтение / Запись / Только для создания
Значение по умолчанию: NULL
С: 3.0
См. также
© 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