gdi32: Keep track of changes to the brush rop, so that we can perform lazy realisation of the brush.

This commit is contained in:
Huw Davies 2011-05-12 10:22:28 +01:00 committed by Alexandre Julliard
parent 0d0f2fa4a9
commit 735657d1b8
2 changed files with 2 additions and 0 deletions

View File

@ -958,6 +958,7 @@ static BOOL solid_brush(dibdrv_physdev *pdev, int num, RECT *rects)
void update_brush_rop( dibdrv_physdev *pdev, INT rop )
{
pdev->brush_rop = rop;
if(pdev->brush_style == BS_SOLID)
calc_and_xor_masks(rop, pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
}

View File

@ -122,6 +122,7 @@ typedef struct dibdrv_physdev
/* brush */
UINT brush_style;
INT brush_rop; /* PatBlt, for example, can override the DC's rop2 */
DWORD brush_color, brush_and, brush_xor;
BOOL (* brush_rects)(struct dibdrv_physdev *pdev, int num, RECT *rects);