GtkThemingEngine
GtkThemingEngine — рендеры оформления
Функции
Свойства
| 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 | ||
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 |
Возвращает
направление виджета
С: 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 |
Возвращает
направление виджета
С: 3.0
gtk_theming_engine_get_path ()
const GtkWidgetPath *
gtk_theming_engine_get_path (GtkThemingEngine *engine); gtk_theming_engine_get_path устарела с версии 3.14 и не должна использоваться в новом коде.
Возвращает путь виджета, используемый для сопоставления стилей.
Параметры
engine |
С: 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 | ||
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 |
gtk_theming_engine_get_state ()
GtkStateFlags
gtk_theming_engine_get_state (GtkThemingEngine *engine); gtk_theming_engine_get_state устарела с версии 3.14 и не должна использоваться в новом коде.
Возвращает состояние, используемое при отрисовке.
Параметры
engine |
Возвращает
флаги состояния
С: 3.0
gtk_theming_engine_get_style ()
void gtk_theming_engine_get_style (GtkThemingEngine *engine,...);
gtk_theming_engine_get_style устарела с версии 3.14 и не должна использоваться в новом коде.
Получает несколько свойств стиля виджета из engine в соответствии со стилем текущего отображаемого содержимого.
Параметры
engine | ||
... | пары имя свойства/значение результата, за которыми следует |
С: 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 | ||
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 | объект GtkThemingEngine | |
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 | объект GtkThemingEngine | |
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 | объект 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 | ||
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 | ||
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] |
Возвращаемое значение
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 | ||
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 | функция разбора для использования, или | [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” char *
Имя движка тем, это имя будет использовано при регистрации пользовательских свойств. Для движка тем с именем "Clearlooks", регистрирующего пользовательское свойство "glossy", его можно сослаться в файле CSS как
* {
engine: someengine;
-SomeEngine-custom-property: 2;
}Владелец: GtkThemingEngine
Флаги: Чтение / Запись / Только для построения
Значение по умолчанию: 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.24/GtkThemingEngine.html