5#include "qml_material/export.hpp"
15class QML_MATERIAL_API ControlEnvironment {
17 virtual ~ControlEnvironment() =
default;
18 virtual QFont effectiveFont()
const = 0;
19 virtual void inheritFont(
const QFont&) = 0;
20 virtual std::optional<bool> effectiveHoverEnabled()
const {
return std::nullopt; }
21 virtual void inheritHoverEnabled(
bool) {}
22 virtual std::optional<QLocale> effectiveLocale()
const {
return std::nullopt; }
23 virtual void inheritLocale(
const QLocale&) {}
24 virtual std::optional<Qt::LayoutDirection> effectiveLayoutDirection()
const {
27 virtual void inheritLayoutDirection(Qt::LayoutDirection) {}
32QML_MATERIAL_API
bool canUpdateControlEnvironment();
33QML_MATERIAL_API
bool inheritedHoverEnabled(
const QQuickItem*);
34QML_MATERIAL_API QFont inheritedFont(
const QQuickItem*);
35QML_MATERIAL_API QLocale inheritedLocale(
const QQuickItem*);
36QML_MATERIAL_API Qt::LayoutDirection inheritedLayoutDirection(
const QQuickItem*);
37QML_MATERIAL_API QFont resolveFont(
const QFont& requested,
const QFont& inherited);
38QML_MATERIAL_API
void propagateFont(QQuickItem*,
const QFont&);
39QML_MATERIAL_API
void propagateHoverEnabled(QQuickItem*,
bool);
40QML_MATERIAL_API
void propagateLocale(QQuickItem*,
const QLocale&);
41QML_MATERIAL_API
void propagateLayoutDirection(QQuickItem*, Qt::LayoutDirection);