Commit 15fabcde authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

gdi32: Keep track of the text pixel color.

parent 6a629710
......@@ -319,6 +319,7 @@ static void update_fg_colors( dibdrv_physdev *pdev )
{
pdev->pen_color = get_pixel_color( pdev, pdev->pen_colorref, TRUE );
pdev->brush_color = get_pixel_color( pdev, pdev->brush_colorref, TRUE );
pdev->text_color = get_pixel_color( pdev, GetTextColor( pdev->dev.hdc ), TRUE );
}
static void update_masks( dibdrv_physdev *pdev, INT rop )
......@@ -518,6 +519,19 @@ static INT dibdrv_SetROP2( PHYSDEV dev, INT rop )
return next->funcs->pSetROP2( next, rop );
}
/***********************************************************************
* dibdrv_SetTextColor
*/
static COLORREF dibdrv_SetTextColor( PHYSDEV dev, COLORREF color )
{
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSetTextColor );
dibdrv_physdev *pdev = get_dibdrv_pdev(dev);
pdev->text_color = get_pixel_color( pdev, color, TRUE );
return next->funcs->pSetTextColor( next, color );
}
const struct gdi_dc_funcs dib_driver =
{
NULL, /* pAbortDoc */
......@@ -638,7 +652,7 @@ const struct gdi_dc_funcs dib_driver =
NULL, /* pSetStretchBltMode */
NULL, /* pSetTextAlign */
NULL, /* pSetTextCharacterExtra */
NULL, /* pSetTextColor */
dibdrv_SetTextColor, /* pSetTextColor */
NULL, /* pSetTextJustification */
NULL, /* pSetViewportExt */
NULL, /* pSetViewportOrg */
......
......@@ -97,6 +97,9 @@ typedef struct dibdrv_physdev
/* background */
DWORD bkgnd_color, bkgnd_and, bkgnd_xor;
/* text */
DWORD text_color;
} dibdrv_physdev;
#define DEFER_FORMAT 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