diff options
Diffstat (limited to 'include/cru')
-rw-r--r-- | include/cru/platform/graphics/web_canvas/WebCanvasPainter.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h b/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h index f85f93b0..cd885aa4 100644 --- a/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h +++ b/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h @@ -3,10 +3,22 @@ #include "WebCanvasResource.h" #include <emscripten/val.h> +#include <optional> namespace cru::platform::graphics::web_canvas { -class WebCanvasPainter: public WebCanvasResource, public virtual IPainter { - public: - WebCanvasPainter(WebCanvasGraphicsFactory* factory, emscripten::val context); +class WebCanvasPainter : public WebCanvasResource, public virtual IPainter { + public: + WebCanvasPainter(WebCanvasGraphicsFactory* factory, emscripten::val context, + std::optional<Matrix> init_transform = std::nullopt); + + ~WebCanvasPainter() override; + + public: + Matrix GetTransform() override; + void SetTransform(const Matrix& transform) override; + + private: + Matrix current_transform_; + emscripten::val context_; }; -} +} // namespace cru::platform::graphics::web_canvas |