38 Q_PROPERTY(qml_material::Enum::PaletteType paletteType READ paletteType WRITE setPaletteType
39 NOTIFY paletteTypeChanged FINAL)
46 QColor accentColor READ accentColor WRITE setAccentColor NOTIFY accentColorChanged FINAL)
52 Q_PROPERTY(
bool useSysColorSM READ useSysColorSM WRITE setUseSysColorSM NOTIFY
53 useSysColorSMChanged FINAL)
59 Q_PROPERTY(
bool useSysAccentColor READ useSysAccentColor WRITE setUseSysAccentColor NOTIFY
60 useSysAccentColorChanged FINAL)
63 Q_PROPERTY(QColor _n_ READ _n_ NOTIFY schemeChanged) \
64 QColor _n_() const { return m_scheme.value()._n_; }
73 X(on_primary_container)
81 X(on_primary_fixed_variant)
87 X(secondary_container)
89 X(on_secondary_container)
93 X(secondary_fixed_dim)
97 X(on_secondary_fixed_variant)
103 X(tertiary_container)
105 X(on_tertiary_container)
109 X(tertiary_fixed_dim)
113 X(on_tertiary_fixed_variant)
121 X(on_error_container)
133 X(on_surface_variant)
145 X(inverse_on_surface)
165 X(surface_container_low)
167 X(surface_container_lowest)
169 X(surface_container_high)
171 X(surface_container_highest)
175 Q_INVOKABLE QColor get_##_n_(double tone) const { \
176 return m_scheme.value()._n_##_palette.get(tone); \
182#define X(_n_, _tone_) \
183 Q_PROPERTY(QColor _n_##_##_tone_ READ _n_##_##_tone_ NOTIFY schemeChanged) \
184 QColor _n_##_##_tone_() const { return m_scheme.value()._n_##_palette.get(_tone_); }
198 auto mode() const ->
Enum::ThemeMode;
199 auto sysColorScheme() const ->
Enum::ThemeMode;
201 QColor sysAccentColor() const;
202 QColor accentColor() const;
203 bool useSysColorSM() const;
204 bool useSysAccentColor() const;
205 auto paletteType() const ->
Enum::PaletteType;
206 void setPaletteType(
Enum::PaletteType);
208 Q_INVOKABLE QColor getOn(QColor) const;
210 Q_SLOT
void setMode(
Enum::ThemeMode);
211 Q_SLOT
void setAccentColor(QColor);
212 Q_SLOT
void setUseSysColorSM(
bool);
213 Q_SLOT
void setUseSysAccentColor(
bool);
214 Q_SLOT
void genScheme();
215 Q_SLOT
void refrehFromSystem();
217 Q_SLOT
void selectFromImage(const QImage&);
219 Q_SIGNAL
void modeChanged(
Enum::ThemeMode);
220 Q_SIGNAL
void schemeChanged();
221 Q_SIGNAL
void paletteTypeChanged();
222 Q_SIGNAL
void accentColorChanged(QColor);
223 Q_SIGNAL
void useSysColorSMChanged();
224 Q_SIGNAL
void useSysAccentColorChanged();
227 void genSchemeImpl(
Enum::ThemeMode);
229 QColor m_accent_color;
230 Enum::ThemeMode m_mode;
231 Enum::ThemeMode m_last_mode;
232 Enum::PaletteType m_scheme_type;
233 QProperty<MdScheme> m_scheme;
234 bool m_use_sys_color_scheme;
235 bool m_use_sys_accent_color;