summaryrefslogtreecommitdiff
path: root/core/fxge/win32
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/win32')
-rw-r--r--core/fxge/win32/cfx_psrenderer.cpp10
-rw-r--r--core/fxge/win32/fx_win32_device.cpp22
-rw-r--r--core/fxge/win32/fx_win32_gdipext.cpp29
3 files changed, 28 insertions, 33 deletions
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index 2e4519c46f..7fc47b9a46 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -117,9 +117,9 @@ void CFX_PSRenderer::OutputPath(const CFX_PathData* pPathData,
bool closing = pPathData->IsClosingFigure(i);
FX_FLOAT x = pPathData->GetPointX(i);
FX_FLOAT y = pPathData->GetPointY(i);
- if (pObject2Device) {
- pObject2Device->Transform(x, y);
- }
+ if (pObject2Device)
+ pObject2Device->TransformPoint(x, y);
+
buf << x << " " << y;
switch (type) {
case FXPT_TYPE::MoveTo:
@@ -136,8 +136,8 @@ void CFX_PSRenderer::OutputPath(const CFX_PathData* pPathData,
FX_FLOAT y1 = pPathData->GetPointY(i + 1);
FX_FLOAT y2 = pPathData->GetPointY(i + 2);
if (pObject2Device) {
- pObject2Device->Transform(x1, y1);
- pObject2Device->Transform(x2, y2);
+ pObject2Device->TransformPoint(x1, y1);
+ pObject2Device->TransformPoint(x2, y2);
}
buf << " " << x1 << " " << y1 << " " << x2 << " " << y2 << " c";
if (closing)
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
index c8ceacfc4c..3df38f1965 100644
--- a/core/fxge/win32/fx_win32_device.cpp
+++ b/core/fxge/win32/fx_win32_device.cpp
@@ -170,9 +170,9 @@ void SetPathToDC(HDC hDC,
FX_PATHPOINT* pPoints = pPathData->GetPoints();
for (int i = 0; i < nPoints; i++) {
FX_FLOAT posx = pPoints[i].m_PointX, posy = pPoints[i].m_PointY;
- if (pMatrix) {
- pMatrix->Transform(posx, posy);
- }
+ if (pMatrix)
+ pMatrix->TransformPoint(posx, posy);
+
int screen_x = FXSYS_round(posx), screen_y = FXSYS_round(posy);
FXPT_TYPE point_type = pPoints[i].m_Type;
if (point_type == FXPT_TYPE::MoveTo) {
@@ -189,16 +189,16 @@ void SetPathToDC(HDC hDC,
lppt[0].y = screen_y;
posx = pPoints[i + 1].m_PointX;
posy = pPoints[i + 1].m_PointY;
- if (pMatrix) {
- pMatrix->Transform(posx, posy);
- }
+ if (pMatrix)
+ pMatrix->TransformPoint(posx, posy);
+
lppt[1].x = FXSYS_round(posx);
lppt[1].y = FXSYS_round(posy);
posx = pPoints[i + 2].m_PointX;
posy = pPoints[i + 2].m_PointY;
- if (pMatrix) {
- pMatrix->Transform(posx, posy);
- }
+ if (pMatrix)
+ pMatrix->TransformPoint(posx, posy);
+
lppt[2].x = FXSYS_round(posx);
lppt[2].y = FXSYS_round(posy);
PolyBezierTo(hDC, lppt, 3);
@@ -1056,8 +1056,8 @@ bool CGdiDeviceDriver::DrawPath(const CFX_PathData* pPathData,
FX_FLOAT x2 = pPathData->GetPointX(1);
FX_FLOAT y2 = pPathData->GetPointY(1);
if (pMatrix) {
- pMatrix->Transform(x1, y1);
- pMatrix->Transform(x2, y2);
+ pMatrix->TransformPoint(x1, y1);
+ pMatrix->TransformPoint(x2, y2);
}
DrawLine(x1, y1, x2, y2);
} else {
diff --git a/core/fxge/win32/fx_win32_gdipext.cpp b/core/fxge/win32/fx_win32_gdipext.cpp
index 65f7b3e732..c703e3e300 100644
--- a/core/fxge/win32/fx_win32_gdipext.cpp
+++ b/core/fxge/win32/fx_win32_gdipext.cpp
@@ -1083,8 +1083,8 @@ static bool IsSmallTriangle(PointF* points,
FX_FLOAT x1 = points[pair1].X, x2 = points[pair2].X;
FX_FLOAT y1 = points[pair1].Y, y2 = points[pair2].Y;
if (pMatrix) {
- pMatrix->Transform(x1, y1);
- pMatrix->Transform(x2, y2);
+ pMatrix->TransformPoint(x1, y1);
+ pMatrix->TransformPoint(x2, y2);
}
FX_FLOAT dx = x1 - x2;
FX_FLOAT dy = y1 - y2;
@@ -1132,25 +1132,20 @@ bool CGdiplusExt::DrawPath(HDC hDC,
for (int i = 0; i < nPoints; i++) {
points[i].X = pPoints[i].m_PointX;
points[i].Y = pPoints[i].m_PointY;
- FX_FLOAT x, y;
- if (pObject2Device) {
- pObject2Device->Transform(pPoints[i].m_PointX, pPoints[i].m_PointY, x, y);
- } else {
- x = pPoints[i].m_PointX;
- y = pPoints[i].m_PointY;
- }
- if (x > 50000 * 1.0f) {
+ FX_FLOAT x = pPoints[i].m_PointX;
+ FX_FLOAT y = pPoints[i].m_PointY;
+ if (pObject2Device)
+ pObject2Device->TransformPoint(x, y);
+
+ if (x > 50000 * 1.0f)
points[i].X = 50000 * 1.0f;
- }
- if (x < -50000 * 1.0f) {
+ if (x < -50000 * 1.0f)
points[i].X = -50000 * 1.0f;
- }
- if (y > 50000 * 1.0f) {
+ if (y > 50000 * 1.0f)
points[i].Y = 50000 * 1.0f;
- }
- if (y < -50000 * 1.0f) {
+ if (y < -50000 * 1.0f)
points[i].Y = -50000 * 1.0f;
- }
+
FXPT_TYPE point_type = pPoints[i].m_Type;
if (point_type == FXPT_TYPE::MoveTo) {
types[i] = PathPointTypeStart;