diff options
author | crupest <crupest@outlook.com> | 2019-05-24 23:45:58 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-05-24 23:45:58 +0800 |
commit | b6db663269201fa14a6a4aa1b9042645a9e8f859 (patch) | |
tree | 1984e2c2784fb9623d4c20fbdd6fc650792e133c /include/cru/platform/graph/geometry.hpp | |
parent | b9df1bcaea0c19b2e29479cdb1ad5a39e23c4ee7 (diff) | |
download | cru-b6db663269201fa14a6a4aa1b9042645a9e8f859.tar.gz cru-b6db663269201fa14a6a4aa1b9042645a9e8f859.tar.bz2 cru-b6db663269201fa14a6a4aa1b9042645a9e8f859.zip |
...
Diffstat (limited to 'include/cru/platform/graph/geometry.hpp')
-rw-r--r-- | include/cru/platform/graph/geometry.hpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/include/cru/platform/graph/geometry.hpp b/include/cru/platform/graph/geometry.hpp index 7a7ad8b2..71bf8c73 100644 --- a/include/cru/platform/graph/geometry.hpp +++ b/include/cru/platform/graph/geometry.hpp @@ -1,25 +1,19 @@ #pragma once #include "cru/common/base.hpp" +#include "cru/common/endable.hpp" #include "cru/common/ui_base.hpp" namespace cru::platform::graph { -struct Geometry : virtual Interface { +struct IGeometry : virtual Interface { virtual bool FillContains(const ui::Point& point) = 0; }; -struct GeometryBuilder : virtual Interface { - virtual bool IsValid() = 0; +struct IGeometryBuilder : virtual Interface, virtual IEndable<IGeometry*> { virtual void BeginFigure(const ui::Point& point) = 0; virtual void LineTo(const ui::Point& point) = 0; virtual void QuadraticBezierTo(const ui::Point& control_point, const ui::Point& end_point) = 0; virtual void CloseFigure(bool close) = 0; - virtual Geometry* Build() = 0; - - Geometry* BuildAndDeleteThis() { - Build(); - delete this; - } }; -} // namespace cru::platform +} // namespace cru::platform::graph |