diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-09-21 23:40:30 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-12-18 23:25:06 +0800 |
| commit | c3412099485e06109f83b3105ce6c083c2b65dd1 (patch) | |
| tree | 3ae2ad9026cf1c3279a6cac00d7726ed684de8db /include/cru/platform/graphics/Geometry.h | |
| parent | 6bbadfc6b1eaf14f68a27cb8e378f5e09ab38de6 (diff) | |
| download | cru-c3412099485e06109f83b3105ce6c083c2b65dd1.tar.gz cru-c3412099485e06109f83b3105ce6c083c2b65dd1.tar.bz2 cru-c3412099485e06109f83b3105ce6c083c2b65dd1.zip | |
HALF WORK!geo-arc
Diffstat (limited to 'include/cru/platform/graphics/Geometry.h')
| -rw-r--r-- | include/cru/platform/graphics/Geometry.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/cru/platform/graphics/Geometry.h b/include/cru/platform/graphics/Geometry.h index ef661f2a..92338750 100644 --- a/include/cru/platform/graphics/Geometry.h +++ b/include/cru/platform/graphics/Geometry.h @@ -63,6 +63,22 @@ struct CRU_PLATFORM_GRAPHICS_API IGeometry : virtual IGraphicsResource { * virtual so it can override them. */ struct CRU_PLATFORM_GRAPHICS_API IGeometryBuilder : virtual IGraphicsResource { + private: + constexpr static auto kLogTag = "cru::platform::graphics::IGeometryBuilder"; + + public: + struct ArcInfo { + Point center; + // In radian. + float start_angle; + // In radian. + float end_angle; + }; + + static ArcInfo CalculateArcInfo(const Point& start_point, const Point& radius, + float angle, bool is_large_arc, + bool is_clockwise, const Point& end_point); + virtual Point GetCurrentPosition() = 0; virtual void MoveTo(const Point& point) = 0; |
