gdi32: Compute the correct rectangle interior when using wide pens.
This commit is contained in:
parent
edd5ca71b2
commit
0c840f66ed
|
@ -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 )
|
||||||
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 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue