Commit 92859157 authored by Alexandre Julliard's avatar Alexandre Julliard

wineps: Add support for SetDCBrush/PenColor.

parent dfaee0a5
...@@ -35,6 +35,9 @@ HBRUSH CDECL PSDRV_SelectBrush( PSDRV_PDEVICE *physDev, HBRUSH hbrush ) ...@@ -35,6 +35,9 @@ HBRUSH CDECL PSDRV_SelectBrush( PSDRV_PDEVICE *physDev, HBRUSH hbrush )
TRACE("hbrush = %p\n", hbrush); TRACE("hbrush = %p\n", hbrush);
if (hbrush == GetStockObject( DC_BRUSH ))
logbrush.lbColor = GetDCBrushColor( physDev->hdc );
switch(logbrush.lbStyle) { switch(logbrush.lbStyle) {
case BS_SOLID: case BS_SOLID:
...@@ -62,6 +65,20 @@ HBRUSH CDECL PSDRV_SelectBrush( PSDRV_PDEVICE *physDev, HBRUSH hbrush ) ...@@ -62,6 +65,20 @@ HBRUSH CDECL PSDRV_SelectBrush( PSDRV_PDEVICE *physDev, HBRUSH hbrush )
} }
/***********************************************************************
* SetDCBrushColor (WINEPS.@)
*/
COLORREF CDECL PSDRV_SetDCBrushColor( PSDRV_PDEVICE *physDev, COLORREF color )
{
if (GetCurrentObject( physDev->hdc, OBJ_BRUSH ) == GetStockObject( DC_BRUSH ))
{
PSDRV_CreateColor( physDev, &physDev->brush.color, color );
physDev->brush.set = FALSE;
}
return color;
}
/********************************************************************** /**********************************************************************
* *
* PSDRV_SetBrush * PSDRV_SetBrush
......
...@@ -69,6 +69,8 @@ HPEN CDECL PSDRV_SelectPen( PSDRV_PDEVICE *physDev, HPEN hpen ) ...@@ -69,6 +69,8 @@ HPEN CDECL PSDRV_SelectPen( PSDRV_PDEVICE *physDev, HPEN hpen )
physDev->pen.width = PSDRV_XWStoDS( physDev, physDev->pen.width ); physDev->pen.width = PSDRV_XWStoDS( physDev, physDev->pen.width );
if(physDev->pen.width < 0) physDev->pen.width = -physDev->pen.width; if(physDev->pen.width < 0) physDev->pen.width = -physDev->pen.width;
} }
if (hpen == GetStockObject( DC_PEN ))
logpen.lopnColor = GetDCPenColor( physDev->hdc );
switch (logpen.lopnStyle & PS_JOIN_MASK) switch (logpen.lopnStyle & PS_JOIN_MASK)
{ {
...@@ -124,6 +126,17 @@ HPEN CDECL PSDRV_SelectPen( PSDRV_PDEVICE *physDev, HPEN hpen ) ...@@ -124,6 +126,17 @@ HPEN CDECL PSDRV_SelectPen( PSDRV_PDEVICE *physDev, HPEN hpen )
} }
/***********************************************************************
* SetDCPenColor (WINEPS.@)
*/
COLORREF CDECL PSDRV_SetDCPenColor( PSDRV_PDEVICE *physDev, COLORREF color )
{
if (GetCurrentObject( physDev->hdc, OBJ_PEN ) == GetStockObject( DC_PEN ))
PSDRV_CreateColor( physDev, &physDev->pen.color, color );
return color;
}
/********************************************************************** /**********************************************************************
* *
* PSDRV_SetPen * PSDRV_SetPen
......
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
@ cdecl SelectFont(ptr long long) PSDRV_SelectFont @ cdecl SelectFont(ptr long long) PSDRV_SelectFont
@ cdecl SelectPen(ptr long) PSDRV_SelectPen @ cdecl SelectPen(ptr long) PSDRV_SelectPen
@ cdecl SetBkColor(ptr long) PSDRV_SetBkColor @ cdecl SetBkColor(ptr long) PSDRV_SetBkColor
@ cdecl SetDCBrushColor(ptr long) PSDRV_SetDCBrushColor
@ cdecl SetDCPenColor(ptr long) PSDRV_SetDCPenColor
@ cdecl SetDeviceClipping(ptr long long) PSDRV_SetDeviceClipping @ cdecl SetDeviceClipping(ptr long long) PSDRV_SetDeviceClipping
@ cdecl SetPixel(ptr long long long) PSDRV_SetPixel @ cdecl SetPixel(ptr long long long) PSDRV_SetPixel
@ cdecl SetTextColor(ptr long) PSDRV_SetTextColor @ cdecl SetTextColor(ptr long) PSDRV_SetTextColor
......
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