aboutsummaryrefslogtreecommitdiff
path: root/include/cru
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-10-08 12:23:17 +0800
committercrupest <crupest@outlook.com>2023-10-08 12:23:17 +0800
commit1907d4fffd24e6d6bd1b7db7d903da60e53888dc (patch)
tree5c5575e7e2584b901e554d736c37f61e6263b904 /include/cru
parentc216f37a9dd3c360d390a3e134881539731186d1 (diff)
downloadcru-1907d4fffd24e6d6bd1b7db7d903da60e53888dc.tar.gz
cru-1907d4fffd24e6d6bd1b7db7d903da60e53888dc.tar.bz2
cru-1907d4fffd24e6d6bd1b7db7d903da60e53888dc.zip
...
Diffstat (limited to 'include/cru')
-rw-r--r--include/cru/platform/graphics/web_canvas/WebCanvasPainter.h20
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