Files
MuditaOS/module-services/service-gui/RenderCache.hpp
Piotr Tański 90c4a0a39f [EGD-6529] Fixed issues with gray colors
The issue occurred on multiple refreshes in the short period of time.
Sometimes, fast refresh was performed instead of the cached deep one.
2021-04-16 09:51:46 +02:00

32 lines
703 B
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include <gui/Common.hpp>
#include <optional>
namespace service::gui
{
struct RenderReference
{
int contextId;
::gui::RefreshModes refreshMode;
};
class RenderCache
{
public:
std::optional<RenderReference> getCachedRender() const;
bool isRenderCached() const noexcept;
void cache(RenderReference render);
void invalidate();
private:
void exchange(RenderReference render);
std::optional<RenderReference> cachedRender;
};
} // namespace service::gui