summaryrefslogtreecommitdiffstats
path: root/thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h')
-rw-r--r--thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h b/thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h
index c6dcf79a48..8fe7b77edd 100644
--- a/thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h
+++ b/thirdparty/thorvg/src/renderer/sw_engine/tvgSwCommon.h
@@ -43,11 +43,16 @@ static double timeStamp()
#define SW_ANGLE_PI (180L << 16)
#define SW_ANGLE_2PI (SW_ANGLE_PI << 1)
#define SW_ANGLE_PI2 (SW_ANGLE_PI >> 1)
-#define SW_ANGLE_PI4 (SW_ANGLE_PI >> 2)
using SwCoord = signed long;
using SwFixed = signed long long;
+
+static inline float TO_FLOAT(SwCoord val)
+{
+ return static_cast<float>(val) / 64.0f;
+}
+
struct SwPoint
{
SwCoord x, y;
@@ -92,6 +97,10 @@ struct SwPoint
else return false;
}
+ Point toPoint() const
+ {
+ return {TO_FLOAT(x), TO_FLOAT(y)};
+ }
};
struct SwSize