diff options
Diffstat (limited to 'include/cru/win/graph/direct/geometry.hpp')
-rw-r--r-- | include/cru/win/graph/direct/geometry.hpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/cru/win/graph/direct/geometry.hpp b/include/cru/win/graph/direct/geometry.hpp index f40db7af..1ee60247 100644 --- a/include/cru/win/graph/direct/geometry.hpp +++ b/include/cru/win/graph/direct/geometry.hpp @@ -3,6 +3,7 @@ #include "direct_factory.hpp" #include "platform_id.hpp" +#include "cru/platform/exception.hpp" #include "cru/platform/graph/geometry.hpp" namespace cru::platform::graph::win::direct { @@ -16,7 +17,7 @@ class D2DGeometryBuilder : public GeometryBuilder { D2DGeometryBuilder(D2DGeometryBuilder&& other) = delete; D2DGeometryBuilder& operator=(D2DGeometryBuilder&& other) = delete; - ~D2DGeometryBuilder() override; + ~D2DGeometryBuilder() override = default; CRU_PLATFORMID_IMPLEMENT_DIRECT @@ -31,6 +32,10 @@ class D2DGeometryBuilder : public GeometryBuilder { private: bool IsValid() { return geometry_ != nullptr; } + void CheckValidation() { + if (!IsValid()) + throw ReuseException("The geometry builder is already disposed."); + } private: Microsoft::WRL::ComPtr<ID2D1PathGeometry> geometry_; |