Mercurial > minori
view include/gui/theme.h @ 179:9c4645100fec
osx: clean up includes, we do not need cocoa
what we *do* need is the very basics that animia already depends on anyway.
these are basically guaranteed to be on any macos system, making it fairly portable
now... I haven't tested this :) I don't have a macos machine right now...
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Mon, 04 Dec 2023 12:03:36 -0500 |
| parents | 39521c47c7a3 |
| children | 862d0d8619f6 |
line wrap: on
line source
#ifndef __gui__theme_h #define __gui__theme_h #include <QStyle> enum class Themes { OS, LIGHT, DARK }; namespace Theme { class Theme final { public: Theme(Themes theme = Themes::OS); void SetTheme(Themes theme); Themes GetTheme() const; bool IsInDarkTheme() const; void RepaintCurrentTheme(); private: void SetToDarkTheme(); void SetToLightTheme(); void SetStyleSheet(Themes theme); Themes GetCurrentOSTheme() const; Themes theme; }; } // namespace Theme #endif // __gui__theme_h
