aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/graph
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-06-30 18:16:56 +0800
committercrupest <crupest@outlook.com>2019-06-30 18:16:56 +0800
commit9c8b55ce438869b2070ef9dbe115466cb47a528a (patch)
treee195cbd245ec41ac75cd7ed29daa2a8c4b656b68 /include/cru/win/graph
parent7b17e8045bde2d36dc6af5f66e75e44593564086 (diff)
downloadcru-9c8b55ce438869b2070ef9dbe115466cb47a528a.tar.gz
cru-9c8b55ce438869b2070ef9dbe115466cb47a528a.tar.bz2
cru-9c8b55ce438869b2070ef9dbe115466cb47a528a.zip
...
Diffstat (limited to 'include/cru/win/graph')
-rw-r--r--include/cru/win/graph/direct/geometry.hpp7
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_;