From 9c3a6eb7316bbc07689163a316f39acd38e4fa6f Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 27 Feb 2022 20:41:21 +0800 Subject: ... --- include/cru/win/graphics/direct/Geometry.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'include/cru/win/graphics') diff --git a/include/cru/win/graphics/direct/Geometry.h b/include/cru/win/graphics/direct/Geometry.h index 8e40c383..802b5ec0 100644 --- a/include/cru/win/graphics/direct/Geometry.h +++ b/include/cru/win/graphics/direct/Geometry.h @@ -17,10 +17,17 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometryBuilder ~D2DGeometryBuilder() override = default; public: - void BeginFigure(const Point& point) override; + Point GetCurrentPosition() override; + + void MoveTo(const Point& point) override; void LineTo(const Point& point) override; + void CubicBezierTo(const Point& start_control_point, + const Point& end_control_point, + const Point& end_point) override; void QuadraticBezierTo(const Point& control_point, const Point& end_point) override; + void ArcTo(const Point& radius, float angle, bool is_large_arc, + bool is_clockwise, const Point& end_point) override; void CloseFigure(bool close) override; std::unique_ptr Build() override; @@ -32,6 +39,8 @@ class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometryBuilder private: Microsoft::WRL::ComPtr geometry_; Microsoft::WRL::ComPtr geometry_sink_; + Point start_point_; + Point current_position_; }; class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometry -- cgit v1.2.3