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 | ||
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 | ||
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 has been deprecated since version 3.14 and should not be used in newly-written code.
Загружает и инициализирует модуль механизма оформления из стандартных каталогов.
Параметры
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 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 | функция синтаксического анализа для использования или | [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);
};
Базовый класс для механизмов оформления.
Члены
| Рендерит линию между двумя точками. | |
| Рендерит фоновую область региона виджета. | |
| Рендерит рамку вокруг области виджета. | |
| Рендерит рамку вокруг области виджета с промежутком в ней. | |
| Рендерит расширение к блоку, обычно вкладку записной книжки. | |
| Рендерит флажок, как в 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.22/GtkThemingEngine.html