// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include #include namespace display_mode { enum class Mode { Light, ///< Regular display mode Dark ///< Colors inverted display mode }; class DisplayModeModel : public app::AsyncCallbackReceiver { public: explicit DisplayModeModel(app::ApplicationCommon *application); /** * Sets the display mode. * @param mode Desired display mode * @param onSuccess Callback called on success */ void setMode(Mode mode, std::function &&onSuccess); [[nodiscard]] auto isDarkModeEnabled() const noexcept -> bool; private: app::ApplicationCommon *application{nullptr}; }; } // namespace display_mode