#ifndef LIBADWAITAMM_STYLE_MANAGER_HPP #define LIBADWAITAMM_STYLE_MANAGER_HPP #include "adwaitamm/helpers/gobj_mixin.hpp" #include #include #include #include #include #include #include #include #include #include #define _ADWAITA_INSIDE #include #undef _ADWAITA_INSIDE using AdwStyleManager = struct _AdwStyleManager; namespace Adwaita { enum struct AccentColor; enum struct ColorScheme; struct StyleManager final : Glib::Object, helpers::gobj_mixin { struct Class : Glib::Class { using BaseClassParent = GObjectClass; using BaseClassType = AdwStyleManagerClass; using BaseObjectType = AdwStyleManager; using CppClassParent = struct Glib::Object_Class; using CppObjectType = StyleManager; auto init() -> Glib::Class const &; auto static class_init_function(void * gclass, void * data) -> void; auto static wrap_new(GObject * object) -> Glib::ObjectBase *; }; using BaseObjectType = Class::BaseObjectType; using BaseClassType = Class::BaseClassType; using CppObjectType = Class::CppObjectType; using CppClassType = Class; using helpers::gobj_mixin::gobj; using helpers::gobj_mixin::gobj_copy; StyleManager(StyleManager const & other) = delete; StyleManager(StyleManager && other) noexcept = delete; auto operator=(StyleManager const & other) noexcept -> StyleManager & = delete; auto operator=(StyleManager && other) noexcept -> StyleManager & = delete; auto static get_default() -> StyleManager *; auto static for_display(Gdk::Display & display) -> StyleManager *; auto static get_type() -> GType; auto static get_base_type() -> GType; auto get_accent_color() const -> AccentColor; auto get_accent_color_rgba() const -> Gdk::RGBA; auto get_color_scheme() const -> ColorScheme; auto get_dark() const -> bool; auto get_display() const -> Glib::RefPtr; auto get_document_font_name() const -> Glib::ustring; auto get_high_contrast() const -> bool; auto get_monospace_font_name() const -> Glib::ustring; auto get_system_supports_accent_colors() const -> bool; auto get_system_supports_color_schemes() const -> bool; auto set_color_scheme(ColorScheme value) -> void; protected: explicit StyleManager(Glib::ConstructParams const & params); explicit StyleManager(BaseObjectType * gobj); explicit StyleManager(); }; } // namespace Adwaita namespace Glib { auto wrap(AdwStyleManager * object) -> Adwaita::StyleManager *; } // namespace Glib #endif