diff options
author | crupest <crupest@outlook.com> | 2023-10-09 22:58:06 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-10-09 22:58:06 +0800 |
commit | 6fc14693d01f2be98b45d70405b16883607d4666 (patch) | |
tree | d2c540e4188abbdb3cf0c28f93942272a7bcbed7 /include/cru | |
parent | 78760fd8a5b310ca4e8de502e510b95c9b4c880c (diff) | |
download | cru-6fc14693d01f2be98b45d70405b16883607d4666.tar.gz cru-6fc14693d01f2be98b45d70405b16883607d4666.tar.bz2 cru-6fc14693d01f2be98b45d70405b16883607d4666.zip |
...
Diffstat (limited to 'include/cru')
-rw-r--r-- | include/cru/platform/graphics/web_canvas/WebCanvasBrush.h | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/web_canvas/WebCanvasPainter.h | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasBrush.h b/include/cru/platform/graphics/web_canvas/WebCanvasBrush.h index 2f278fa6..72dd0723 100644 --- a/include/cru/platform/graphics/web_canvas/WebCanvasBrush.h +++ b/include/cru/platform/graphics/web_canvas/WebCanvasBrush.h @@ -2,12 +2,16 @@ #include "../Brush.h" #include "WebCanvasResource.h" +#include <emscripten/val.h> + namespace cru::platform::graphics::web_canvas { class WebCanvasBrush : public WebCanvasResource, public virtual IBrush { public: explicit WebCanvasBrush(WebCanvasGraphicsFactory* factory); ~WebCanvasBrush() override; + + virtual emscripten::val GetStyle() = 0; }; class WebCanvasSolidColorBrush : public WebCanvasBrush, @@ -24,6 +28,8 @@ class WebCanvasSolidColorBrush : public WebCanvasBrush, String GetCssColor() const; + emscripten::val GetStyle() override; + private: Color color_; }; diff --git a/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h b/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h index 1f7d21b6..0832831c 100644 --- a/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h +++ b/include/cru/platform/graphics/web_canvas/WebCanvasPainter.h @@ -1,5 +1,7 @@ #pragma once +#include "../Brush.h" #include "../Painter.h" +#include "WebCanvasBrush.h" #include "WebCanvasRef.h" #include "WebCanvasResource.h" @@ -30,9 +32,18 @@ class WebCanvasPainter : public WebCanvasResource, public virtual IPainter { void Clear(const Color& color) override; + void DrawLine(const Point& start, const Point& end, IBrush* brush, + float width) override; + emscripten::val GetCanvas2DContext() const { return context_; } WebCanvasRef GetCanvas(); + void SetStrokeStyle(IBrush* brush, float width = 0.0f); + void SetFillStyle(IBrush* brush); + + private: + WebCanvasBrush* ConvertBrush(IBrush* brush) const; + private: Matrix current_transform_; emscripten::val context_; |