// 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 service::gui { struct RenderReference { int contextId; ::gui::RefreshModes refreshMode; }; class RenderCache { public: std::optional getCachedRender() const; bool isRenderCached() const noexcept; void cache(RenderReference render); void invalidate(); private: void exchange(RenderReference render); std::optional cachedRender; }; } // namespace service::gui