aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-03-02 22:07:33 +0800
committercrupest <crupest@outlook.com>2022-03-02 22:07:33 +0800
commit57353bd3acd97957cb5f970016fec52977cc6e95 (patch)
tree6e47a50f33466f7bcdce7c7aa9bf15b82fe4a58a /include/cru/platform
parent7adfe813c23d20abe936aa0624fd68e0112717b3 (diff)
downloadcru-57353bd3acd97957cb5f970016fec52977cc6e95.tar.gz
cru-57353bd3acd97957cb5f970016fec52977cc6e95.tar.bz2
cru-57353bd3acd97957cb5f970016fec52977cc6e95.zip
...
Diffstat (limited to 'include/cru/platform')
-rw-r--r--include/cru/platform/GraphicsBase.h4
-rw-r--r--include/cru/platform/graphics/Geometry.h5
2 files changed, 8 insertions, 1 deletions
diff --git a/include/cru/platform/GraphicsBase.h b/include/cru/platform/GraphicsBase.h
index 8fb9a3af..62a8bf29 100644
--- a/include/cru/platform/GraphicsBase.h
+++ b/include/cru/platform/GraphicsBase.h
@@ -1,9 +1,9 @@
#pragma once
#include "cru/common/Base.h"
+#include "cru/common/Format.h"
#include "cru/common/Range.h"
#include "cru/common/String.h"
-#include "cru/common/Format.h"
#include <cstdint>
#include <limits>
@@ -25,6 +25,8 @@ struct Point final {
return *this;
}
+ constexpr Point Negate() const { return Point(-x, -y); }
+
float x = 0;
float y = 0;
};
diff --git a/include/cru/platform/graphics/Geometry.h b/include/cru/platform/graphics/Geometry.h
index 1c2bd1f7..19620789 100644
--- a/include/cru/platform/graphics/Geometry.h
+++ b/include/cru/platform/graphics/Geometry.h
@@ -1,6 +1,8 @@
#pragma once
#include "Resource.h"
+#include <memory>
+
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IGeometry : virtual IGraphicsResource {
virtual bool FillContains(const Point& point) = 0;
@@ -59,4 +61,7 @@ struct CRU_PLATFORM_GRAPHICS_API IGeometryBuilder : virtual IGraphicsResource {
void ParseAndApplySvgPathData(StringView path_d);
};
+
+std::unique_ptr<IGeometry> CRU_PLATFORM_GRAPHICS_API
+CreateGeometryFromSvgPathData(IGraphicsFactory* factory, StringView path_d);
} // namespace cru::platform::graphics