gdi32: Keep track of changes to the brush rop, so that we can perform lazy realisation of the brush.
This commit is contained in:
parent
0d0f2fa4a9
commit
735657d1b8
|
@ -958,6 +958,7 @@ static BOOL solid_brush(dibdrv_physdev *pdev, int num, RECT *rects)
|
||||||
|
|
||||||
void update_brush_rop( dibdrv_physdev *pdev, INT rop )
|
void update_brush_rop( dibdrv_physdev *pdev, INT rop )
|
||||||
{
|
{
|
||||||
|
pdev->brush_rop = rop;
|
||||||
if(pdev->brush_style == BS_SOLID)
|
if(pdev->brush_style == BS_SOLID)
|
||||||
calc_and_xor_masks(rop, pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
|
calc_and_xor_masks(rop, pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,6 +122,7 @@ typedef struct dibdrv_physdev
|
||||||
|
|
||||||
/* brush */
|
/* brush */
|
||||||
UINT brush_style;
|
UINT brush_style;
|
||||||
|
INT brush_rop; /* PatBlt, for example, can override the DC's rop2 */
|
||||||
DWORD brush_color, brush_and, brush_xor;
|
DWORD brush_color, brush_and, brush_xor;
|
||||||
BOOL (* brush_rects)(struct dibdrv_physdev *pdev, int num, RECT *rects);
|
BOOL (* brush_rects)(struct dibdrv_physdev *pdev, int num, RECT *rects);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue