diff options
Diffstat (limited to 'include/cru/win')
-rw-r--r-- | include/cru/win/graph/direct/painter.hpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/cru/win/graph/direct/painter.hpp b/include/cru/win/graph/direct/painter.hpp index 5a1fe03f..4f2164c9 100644 --- a/include/cru/win/graph/direct/painter.hpp +++ b/include/cru/win/graph/direct/painter.hpp @@ -4,6 +4,8 @@ #include "cru/platform/graph/painter.hpp" +#include <vector> + namespace cru::platform::graph::win::direct { class D2DPainter : public DirectResource, public virtual IPainter, @@ -35,6 +37,10 @@ class D2DPainter : public DirectResource, void DrawText(const Point& offset, ITextLayout* text_layout, IBrush* brush) override; + void PushLayer(const Rect& bounds) override; + + void PopLayer() override; + void EndDraw() override final; protected: @@ -47,6 +53,8 @@ class D2DPainter : public DirectResource, private: ID2D1RenderTarget* render_target_; + std::vector<Microsoft::WRL::ComPtr<ID2D1Layer>> layers_; + bool is_drawing_ = true; }; } // namespace cru::platform::graph::win::direct |