aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/graph/direct/Geometry.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-30 00:07:57 +0800
committercrupest <crupest@outlook.com>2020-10-30 00:07:57 +0800
commit6aa2201797a9ed64ce0178215ae941d0c5f09579 (patch)
tree9a74ee8d9f616afbe693ef7825a71474850831b5 /include/cru/win/graph/direct/Geometry.hpp
parentb4cb4fb7552d35c267bdb66913e4c822f16346ab (diff)
downloadcru-6aa2201797a9ed64ce0178215ae941d0c5f09579.tar.gz
cru-6aa2201797a9ed64ce0178215ae941d0c5f09579.tar.bz2
cru-6aa2201797a9ed64ce0178215ae941d0c5f09579.zip
...
Diffstat (limited to 'include/cru/win/graph/direct/Geometry.hpp')
-rw-r--r--include/cru/win/graph/direct/Geometry.hpp57
1 files changed, 0 insertions, 57 deletions
diff --git a/include/cru/win/graph/direct/Geometry.hpp b/include/cru/win/graph/direct/Geometry.hpp
deleted file mode 100644
index 87987d3e..00000000
--- a/include/cru/win/graph/direct/Geometry.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
-
-#include "cru/platform/graph/Geometry.hpp"
-
-namespace cru::platform::graph::win::direct {
-class D2DGeometryBuilder : public DirectGraphResource,
- public virtual IGeometryBuilder {
- public:
- explicit D2DGeometryBuilder(DirectGraphFactory* factory);
-
- CRU_DELETE_COPY(D2DGeometryBuilder)
- CRU_DELETE_MOVE(D2DGeometryBuilder)
-
- ~D2DGeometryBuilder() override = default;
-
- public:
- void BeginFigure(const Point& point) override;
- void LineTo(const Point& point) override;
- void QuadraticBezierTo(const Point& control_point,
- const Point& end_point) override;
- void CloseFigure(bool close) override;
-
- std::unique_ptr<IGeometry> Build() override;
-
- private:
- bool IsValid() { return geometry_ != nullptr; }
- void CheckValidation();
-
- private:
- Microsoft::WRL::ComPtr<ID2D1PathGeometry> geometry_;
- Microsoft::WRL::ComPtr<ID2D1GeometrySink> geometry_sink_;
-};
-
-class D2DGeometry : public DirectGraphResource,
- public virtual IGeometry,
- public IComResource<ID2D1Geometry> {
- public:
- D2DGeometry(DirectGraphFactory* factory,
- Microsoft::WRL::ComPtr<ID2D1PathGeometry> geometry);
-
- CRU_DELETE_COPY(D2DGeometry)
- CRU_DELETE_MOVE(D2DGeometry)
-
- ~D2DGeometry() override = default;
-
- public:
- ID2D1Geometry* GetComInterface() const override { return geometry_.Get(); }
-
- public:
- bool FillContains(const Point& point) override;
-
- private:
- Microsoft::WRL::ComPtr<ID2D1PathGeometry> geometry_;
-};
-} // namespace cru::platform::graph::win::direct