Commit 0c840f66 authored by Alexandre Julliard's avatar Alexandre Julliard

gdi32: Compute the correct rectangle interior when using wide pens.

parent edd5ca71
...@@ -590,12 +590,10 @@ BOOL dibdrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom ) ...@@ -590,12 +590,10 @@ BOOL dibdrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
pdev->pen_lines(pdev, 4, pts, TRUE); pdev->pen_lines(pdev, 4, pts, TRUE);
/* FIXME: Will need updating when we support wide pens */ rect.left += (pdev->pen_width + 1) / 2;
rect.top += (pdev->pen_width + 1) / 2;
rect.left += 1; rect.right -= (pdev->pen_width + 2) / 2;
rect.top += 1; rect.bottom -= (pdev->pen_width + 2) / 2;
rect.right -= 1;
rect.bottom -= 1;
brush_rect( pdev, &rect, GetROP2(dev->hdc) ); brush_rect( pdev, &rect, GetROP2(dev->hdc) );
......
...@@ -1266,9 +1266,9 @@ static inline int get_pen_device_width( dibdrv_physdev *pdev, LOGPEN *pen ) ...@@ -1266,9 +1266,9 @@ static inline int get_pen_device_width( dibdrv_physdev *pdev, LOGPEN *pen )
pts[0].x = pts[0].y = pts[1].y = 0; pts[0].x = pts[0].y = pts[1].y = 0;
pts[1].x = width; pts[1].x = width;
LPtoDP( pdev->dev.hdc, pts, 2 ); LPtoDP( pdev->dev.hdc, pts, 2 );
width = max( abs( pts[1].x - pts[0].x ), 1 ); width = abs( pts[1].x - pts[0].x );
} }
return width; return max( width, 1 );
} }
/*********************************************************************** /***********************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment