/** * @author Felix Morgner (felix.morgner@gmail.com) * @copyright Copyright (c) 2025 * SPDX-License-Identifier: LGPL-2.1-or-later */ #ifndef LIBADWAITAMM_ENUMS_HPP #define LIBADWAITAMM_ENUMS_HPP #include #include namespace Adwaita { enum struct AccentColor { Blue, Teal, Green, Yellow, Orange, Red, Pink, Purple, Slate, }; enum struct ColorScheme { Default, ForceLight, PreferLight, PreferDark, ForceDark, }; enum struct LengthType { MinWidth, MaxWidth, MinHeight, MaxHeight, }; enum struct PresentationMode { Auto, Floating, BottomSheet, }; enum struct RatioType { MinAspectRatio, MaxAspectRatio }; enum struct ResponseAppearance { Default, Suggested, Destructive, }; enum class ToastPriority { Normal, High, }; } // namespace Adwaita namespace Glib { #define VALUE_SPECIALIZATION(Enum) \ template<> \ class Value : public Glib::Value_Enum \ { \ public: \ auto static value_type() -> GType; \ } VALUE_SPECIALIZATION(AccentColor); VALUE_SPECIALIZATION(ColorScheme); VALUE_SPECIALIZATION(LengthType); VALUE_SPECIALIZATION(PresentationMode); VALUE_SPECIALIZATION(RatioType); VALUE_SPECIALIZATION(ResponseAppearance); VALUE_SPECIALIZATION(ToastPriority); #undef VALUE_SPECIALIZATION } // namespace Glib #endif