aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graph/geometry.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-05-24 23:45:58 +0800
committercrupest <crupest@outlook.com>2019-05-24 23:45:58 +0800
commitb6db663269201fa14a6a4aa1b9042645a9e8f859 (patch)
tree1984e2c2784fb9623d4c20fbdd6fc650792e133c /include/cru/platform/graph/geometry.hpp
parentb9df1bcaea0c19b2e29479cdb1ad5a39e23c4ee7 (diff)
downloadcru-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.hpp14
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