summaryrefslogtreecommitdiff
path: root/core/fxge/cfx_pathdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/cfx_pathdata.h')
-rw-r--r--core/fxge/cfx_pathdata.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/core/fxge/cfx_pathdata.h b/core/fxge/cfx_pathdata.h
index 14a8d992b9..68939bfeb2 100644
--- a/core/fxge/cfx_pathdata.h
+++ b/core/fxge/cfx_pathdata.h
@@ -13,13 +13,18 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxge/cfx_renderdevice.h"
-struct FX_PATHPOINT {
+class FX_PATHPOINT {
+ public:
+ FX_PATHPOINT();
+ FX_PATHPOINT(const CFX_PointF& point, FXPT_TYPE type, bool close);
+ FX_PATHPOINT(const FX_PATHPOINT& other);
+ ~FX_PATHPOINT();
+
bool IsTypeAndOpen(FXPT_TYPE type) const {
return m_Type == type && !m_CloseFigure;
}
- FX_FLOAT m_PointX;
- FX_FLOAT m_PointY;
+ CFX_PointF m_Point;
FXPT_TYPE m_Type;
bool m_CloseFigure;
};
@@ -37,8 +42,7 @@ class CFX_PathData {
return m_Points[index].m_CloseFigure;
}
- FX_FLOAT GetPointX(int index) const { return m_Points[index].m_PointX; }
- FX_FLOAT GetPointY(int index) const { return m_Points[index].m_PointY; }
+ CFX_PointF GetPoint(int index) const { return m_Points[index].m_Point; }
const std::vector<FX_PATHPOINT>& GetPoints() const { return m_Points; }
std::vector<FX_PATHPOINT>& GetPoints() { return m_Points; }
@@ -57,7 +61,7 @@ class CFX_PathData {
void Append(const CFX_PathData& data);
void Append(const CFX_PathData* pSrc, const CFX_Matrix* pMatrix);
void AppendRect(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT top);
- void AppendPoint(FX_FLOAT x, FX_FLOAT y, FXPT_TYPE type, bool closeFigure);
+ void AppendPoint(const CFX_PointF& pos, FXPT_TYPE type, bool closeFigure);
void ClosePath();
private: