diff options
Diffstat (limited to 'adw/include/adwaitamm/enums.hpp')
| -rw-r--r-- | adw/include/adwaitamm/enums.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/adw/include/adwaitamm/enums.hpp b/adw/include/adwaitamm/enums.hpp new file mode 100644 index 0000000..d19ebc7 --- /dev/null +++ b/adw/include/adwaitamm/enums.hpp @@ -0,0 +1,51 @@ +#ifndef LIBADWAITAMM_ENUMS_HPP +#define LIBADWAITAMM_ENUMS_HPP + +#include <glibmm/value.h> + +#include <glib-object.h> + +namespace Adwaita +{ + enum struct AccentColor + { + Blue, + Teal, + Green, + Yellow, + Orange, + Red, + Pink, + Purple, + Slate, + }; + + enum struct ColorScheme + { + Default, + ForceLight, + PreferLight, + PreferDark, + ForceDark, + }; +} // namespace Adwaita + +namespace Glib +{ + +#define VALUE_SPECIALIZATION(Enum) \ + template<> \ + class Value<Adwaita::Enum> : public Glib::Value_Enum<Adwaita::Enum> \ + { \ + public: \ + auto static value_type() -> GType; \ + } + + VALUE_SPECIALIZATION(AccentColor); + VALUE_SPECIALIZATION(ColorScheme); + +#undef VALUE_SPECIALIZATION + +} // namespace Glib + +#endif
\ No newline at end of file |
