[PATCH] win32u: Use GDI_ROUND() in a few more places.
Zebediah Figura
zfigura at codeweavers.com
Wed Mar 2 00:22:12 CST 2022
From: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
dlls/win32u/mapping.c | 52 +++++++++++++++++++++----------------------
dlls/win32u/region.c | 4 ++--
2 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/dlls/win32u/mapping.c b/dlls/win32u/mapping.c
index 6e7c42fe7cc..ecdbf457202 100644
--- a/dlls/win32u/mapping.c
+++ b/dlls/win32u/mapping.c
@@ -98,13 +98,13 @@ static void MAPPING_FixIsotropic( DC * dc )
if (xdim > ydim)
{
INT mincx = (dc->attr->vport_ext.cx >= 0) ? 1 : -1;
- dc->attr->vport_ext.cx = floor(dc->attr->vport_ext.cx * ydim / xdim + 0.5);
+ dc->attr->vport_ext.cx = GDI_ROUND( dc->attr->vport_ext.cx * ydim / xdim );
if (!dc->attr->vport_ext.cx) dc->attr->vport_ext.cx = mincx;
}
else
{
INT mincy = (dc->attr->vport_ext.cy >= 0) ? 1 : -1;
- dc->attr->vport_ext.cy = floor(dc->attr->vport_ext.cy * xdim / ydim + 0.5);
+ dc->attr->vport_ext.cy = GDI_ROUND( dc->attr->vport_ext.cy * xdim / ydim );
if (!dc->attr->vport_ext.cy) dc->attr->vport_ext.cy = mincy;
}
}
@@ -190,12 +190,12 @@ BOOL dp_to_lp( DC *dc, POINT *points, INT count )
{
double x = points->x;
double y = points->y;
- points->x = floor( x * dc->xformVport2World.eM11 +
- y * dc->xformVport2World.eM21 +
- dc->xformVport2World.eDx + 0.5 );
- points->y = floor( x * dc->xformVport2World.eM12 +
- y * dc->xformVport2World.eM22 +
- dc->xformVport2World.eDy + 0.5 );
+ points->x = GDI_ROUND( x * dc->xformVport2World.eM11 +
+ y * dc->xformVport2World.eM21 +
+ dc->xformVport2World.eDx );
+ points->y = GDI_ROUND( x * dc->xformVport2World.eM12 +
+ y * dc->xformVport2World.eM22 +
+ dc->xformVport2World.eDy );
points++;
}
}
@@ -221,12 +221,12 @@ BOOL WINAPI NtGdiTransformPoints( HDC hdc, const POINT *points_in, POINT *points
{
double x = points_in[i].x;
double y = points_in[i].y;
- points_out[i].x = floor( x * dc->xformWorld2Vport.eM11 +
- y * dc->xformWorld2Vport.eM21 +
- dc->xformWorld2Vport.eDx + 0.5 );
- points_out[i].y = floor( x * dc->xformWorld2Vport.eM12 +
- y * dc->xformWorld2Vport.eM22 +
- dc->xformWorld2Vport.eDy + 0.5 );
+ points_out[i].x = GDI_ROUND( x * dc->xformWorld2Vport.eM11 +
+ y * dc->xformWorld2Vport.eM21 +
+ dc->xformWorld2Vport.eDx );
+ points_out[i].y = GDI_ROUND( x * dc->xformWorld2Vport.eM12 +
+ y * dc->xformWorld2Vport.eM22 +
+ dc->xformWorld2Vport.eDy );
}
ret = TRUE;
break;
@@ -237,12 +237,12 @@ BOOL WINAPI NtGdiTransformPoints( HDC hdc, const POINT *points_in, POINT *points
{
double x = points_in[i].x;
double y = points_in[i].y;
- points_out[i].x = floor( x * dc->xformVport2World.eM11 +
- y * dc->xformVport2World.eM21 +
- dc->xformVport2World.eDx + 0.5 );
- points_out[i].y = floor( x * dc->xformVport2World.eM12 +
- y * dc->xformVport2World.eM22 +
- dc->xformVport2World.eDy + 0.5 );
+ points_out[i].x = GDI_ROUND( x * dc->xformVport2World.eM11 +
+ y * dc->xformVport2World.eM21 +
+ dc->xformVport2World.eDx );
+ points_out[i].y = GDI_ROUND( x * dc->xformVport2World.eM12 +
+ y * dc->xformVport2World.eM22 +
+ dc->xformVport2World.eDy );
}
ret = TRUE;
break;
@@ -268,12 +268,12 @@ void lp_to_dp( DC *dc, POINT *points, INT count )
{
double x = points->x;
double y = points->y;
- points->x = floor( x * dc->xformWorld2Vport.eM11 +
- y * dc->xformWorld2Vport.eM21 +
- dc->xformWorld2Vport.eDx + 0.5 );
- points->y = floor( x * dc->xformWorld2Vport.eM12 +
- y * dc->xformWorld2Vport.eM22 +
- dc->xformWorld2Vport.eDy + 0.5 );
+ points->x = GDI_ROUND( x * dc->xformWorld2Vport.eM11 +
+ y * dc->xformWorld2Vport.eM21 +
+ dc->xformWorld2Vport.eDx );
+ points->y = GDI_ROUND( x * dc->xformWorld2Vport.eM12 +
+ y * dc->xformWorld2Vport.eM22 +
+ dc->xformWorld2Vport.eDy );
points++;
}
}
diff --git a/dlls/win32u/region.c b/dlls/win32u/region.c
index 17eae861cbf..e524dd66f34 100644
--- a/dlls/win32u/region.c
+++ b/dlls/win32u/region.c
@@ -866,8 +866,8 @@ static void translate( POINT *pt, UINT count, const XFORM *xform )
{
double x = pt->x;
double y = pt->y;
- pt->x = floor( x * xform->eM11 + y * xform->eM21 + xform->eDx + 0.5 );
- pt->y = floor( x * xform->eM12 + y * xform->eM22 + xform->eDy + 0.5 );
+ pt->x = GDI_ROUND( x * xform->eM11 + y * xform->eM21 + xform->eDx );
+ pt->y = GDI_ROUND( x * xform->eM12 + y * xform->eM22 + xform->eDy );
pt++;
}
}
--
2.35.1
More information about the wine-devel
mailing list