From 9efe66a83abeaddccb9e861eb2a7d50cedba1cf9 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Wed, 27 Jul 2016 09:59:28 +0100 Subject: [PATCH] gdi32: Use lp_to_dp() instead of LPtoDP() in the dib driver. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/gdi32/dibdrv/bitblt.c | 3 ++- dlls/gdi32/dibdrv/graphics.c | 19 ++++++++++++------- dlls/gdi32/dibdrv/objects.c | 7 ++++--- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c index 12e4cd830b9..41311fa77ca 100644 --- a/dlls/gdi32/dibdrv/bitblt.c +++ b/dlls/gdi32/dibdrv/bitblt.c @@ -1416,6 +1416,7 @@ BOOL dibdrv_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode ) { dibdrv_physdev *pdev = get_dibdrv_pdev( dev ); + DC *dc = get_physdev_dc( dev ); const GRADIENT_TRIANGLE *tri = grad_array; const GRADIENT_RECT *rect = grad_array; unsigned int i; @@ -1430,7 +1431,7 @@ BOOL dibdrv_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG nvert, pts[i].x = vert_array[i].x; pts[i].y = vert_array[i].y; } - LPtoDP( dev->hdc, pts, nvert ); + lp_to_dp( dc, pts, nvert ); switch (mode) { diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c index f0880cf682a..6a995448974 100644 --- a/dlls/gdi32/dibdrv/graphics.c +++ b/dlls/gdi32/dibdrv/graphics.c @@ -1097,6 +1097,7 @@ COLORREF dibdrv_GetNearestColor( PHYSDEV dev, COLORREF color ) COLORREF dibdrv_GetPixel( PHYSDEV dev, INT x, INT y ) { dibdrv_physdev *pdev = get_dibdrv_pdev( dev ); + DC *dc = get_physdev_dc( dev ); POINT pt; DWORD pixel; @@ -1104,7 +1105,7 @@ COLORREF dibdrv_GetPixel( PHYSDEV dev, INT x, INT y ) pt.x = x; pt.y = y; - LPtoDP( dev->hdc, &pt, 1 ); + lp_to_dp( dc, &pt, 1 ); if (pt.x < 0 || pt.x >= pdev->dib.rect.right - pdev->dib.rect.left || pt.y < 0 || pt.y >= pdev->dib.rect.bottom - pdev->dib.rect.top) @@ -1120,15 +1121,16 @@ COLORREF dibdrv_GetPixel( PHYSDEV dev, INT x, INT y ) BOOL dibdrv_LineTo( PHYSDEV dev, INT x, INT y ) { dibdrv_physdev *pdev = get_dibdrv_pdev(dev); + DC *dc = get_physdev_dc( dev ); POINT pts[2]; HRGN region = 0; BOOL ret; - GetCurrentPositionEx(dev->hdc, pts); + pts[0] = dc->cur_pos; pts[1].x = x; pts[1].y = y; - LPtoDP(dev->hdc, pts, 2); + lp_to_dp(dc, pts, 2); if (pdev->pen_uses_region && !(region = CreateRectRgn( 0, 0, 0, 0 ))) return FALSE; @@ -1229,6 +1231,7 @@ BOOL dibdrv_PaintRgn( PHYSDEV dev, HRGN rgn ) BOOL dibdrv_PolyPolygon( PHYSDEV dev, const POINT *pt, const INT *counts, DWORD polygons ) { dibdrv_physdev *pdev = get_dibdrv_pdev(dev); + DC *dc = get_physdev_dc( dev ); DWORD total, i, pos; BOOL ret = TRUE; POINT *points; @@ -1243,10 +1246,10 @@ BOOL dibdrv_PolyPolygon( PHYSDEV dev, const POINT *pt, const INT *counts, DWORD points = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*pt) ); if (!points) return FALSE; memcpy( points, pt, total * sizeof(*pt) ); - LPtoDP( dev->hdc, points, total ); + lp_to_dp( dc, points, total ); if (pdev->brush.style != BS_NULL && - !(interior = CreatePolyPolygonRgn( points, counts, polygons, GetPolyFillMode( dev->hdc )))) + !(interior = CreatePolyPolygonRgn( points, counts, polygons, dc->polyFillMode ))) { HeapFree( GetProcessHeap(), 0, points ); return FALSE; @@ -1291,6 +1294,7 @@ BOOL dibdrv_PolyPolygon( PHYSDEV dev, const POINT *pt, const INT *counts, DWORD BOOL dibdrv_PolyPolyline( PHYSDEV dev, const POINT* pt, const DWORD* counts, DWORD polylines ) { dibdrv_physdev *pdev = get_dibdrv_pdev(dev); + DC *dc = get_physdev_dc( dev ); DWORD total, pos, i; POINT *points; BOOL ret = TRUE; @@ -1305,7 +1309,7 @@ BOOL dibdrv_PolyPolyline( PHYSDEV dev, const POINT* pt, const DWORD* counts, DWO points = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*pt) ); if (!points) return FALSE; memcpy( points, pt, total * sizeof(*pt) ); - LPtoDP( dev->hdc, points, total ); + lp_to_dp( dc, points, total ); if (pdev->pen_uses_region && !(outline = CreateRectRgn( 0, 0, 0, 0 ))) { @@ -1555,6 +1559,7 @@ BOOL dibdrv_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom, COLORREF dibdrv_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) { dibdrv_physdev *pdev = get_dibdrv_pdev( dev ); + DC *dc = get_physdev_dc( dev ); struct clipped_rects clipped_rects; RECT rect; POINT pt; @@ -1564,7 +1569,7 @@ COLORREF dibdrv_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) pt.x = x; pt.y = y; - LPtoDP( dev->hdc, &pt, 1 ); + lp_to_dp( dc, &pt, 1 ); rect.left = pt.x; rect.top = pt.y; rect.right = rect.left + 1; diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c index a14c06227f7..53ea8892bc3 100644 --- a/dlls/gdi32/dibdrv/objects.c +++ b/dlls/gdi32/dibdrv/objects.c @@ -1726,14 +1726,14 @@ static inline void scale_dash_pattern( dash_pattern *pattern, DWORD scale, DWORD } } -static inline int get_pen_device_width( dibdrv_physdev *pdev, int width ) +static inline int get_pen_device_width( DC *dc, int width ) { POINT pts[2]; if (!width) return 1; pts[0].x = pts[0].y = pts[1].y = 0; pts[1].x = width; - LPtoDP( pdev->dev.hdc, pts, 2 ); + lp_to_dp( dc, pts, 2 ); width = floor( hypot( pts[1].x - pts[0].x, pts[1].y - pts[0].y )); return max( width, 1 ); } @@ -2113,6 +2113,7 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush, const struct brush_patter HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen, const struct brush_pattern *pattern ) { dibdrv_physdev *pdev = get_dibdrv_pdev(dev); + DC *dc = get_physdev_dc( dev ); LOGPEN logpen; LOGBRUSH logbrush; EXTLOGPEN *elp = NULL; @@ -2147,7 +2148,7 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen, const struct brush_pattern *patte pdev->pen_join = logpen.lopnStyle & PS_JOIN_MASK; pdev->pen_endcap = logpen.lopnStyle & PS_ENDCAP_MASK; - pdev->pen_width = get_pen_device_width( pdev, logpen.lopnWidth.x ); + pdev->pen_width = get_pen_device_width( dc, logpen.lopnWidth.x ); if (hpen == GetStockObject( DC_PEN )) logbrush.lbColor = GetDCPenColor( dev->hdc ); -- 2.11.4.GIT