mirror of
https://github.com/reactos/reactos.git
synced 2024-07-05 04:06:22 +00:00
IntSetSysColors: update SysColorBrushes and Pens and broadcast WM_SYCOLORCHANGE message. Now you can change colors with desk.cpl
svn path=/trunk/; revision=26272
This commit is contained in:
parent
937e866fb2
commit
69ef89a5e9
|
@ -44,11 +44,17 @@ IntPatBlt(
|
|||
DWORD ROP,
|
||||
PGDIBRUSHOBJ BrushObj);
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
|
||||
|
||||
/* Pen functions */
|
||||
|
||||
HPEN FASTCALL
|
||||
IntGdiCreatePenIndirect(PLOGPEN lgpn);
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiSetSolidPenColor(HPEN hPen, COLORREF Color);
|
||||
|
||||
/* Line functions */
|
||||
|
||||
BOOL FASTCALL
|
||||
|
|
|
@ -847,4 +847,17 @@ NtGdiPatBlt(
|
|||
return ret;
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color)
|
||||
{
|
||||
PGDIBRUSHOBJ BrushObject;
|
||||
|
||||
BrushObject = BRUSHOBJ_LockBrush(hBrush);
|
||||
if (BrushObject->flAttrs & GDIBRUSH_IS_SOLID)
|
||||
{
|
||||
BrushObject->BrushAttr.lbColor = Color & 0xFFFFFF;
|
||||
}
|
||||
BRUSHOBJ_UnlockBrush(BrushObject);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -186,4 +186,17 @@ NtGdiExtCreatePen(
|
|||
return IntGdiCreatePenIndirect(&LogPen);
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiSetSolidPenColor(HPEN hPen, COLORREF Color)
|
||||
{
|
||||
PGDIBRUSHOBJ PenObject;
|
||||
|
||||
PenObject = PENOBJ_LockPen(hPen);
|
||||
if (PenObject->flAttrs & GDIBRUSH_IS_SOLID)
|
||||
{
|
||||
PenObject->BrushAttr.lbColor = Color & 0xFFFFFF;
|
||||
}
|
||||
PENOBJ_UnlockPen(PenObject);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -177,14 +177,16 @@ IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors)
|
|||
|
||||
for(i = 0; i < nColors; i++)
|
||||
{
|
||||
if((*Elements) >= 0 && (*Elements) < NUM_SYSCOLORS)
|
||||
if((UINT)(*Elements) < NUM_SYSCOLORS)
|
||||
{
|
||||
SysColors[*Elements] = *Colors;
|
||||
/* FIXME - update the syscolor pens and brushes */
|
||||
IntGdiSetSolidBrushColor(SysColorBrushes[*Elements], *Colors);
|
||||
IntGdiSetSolidPenColor(SysColorPens[*Elements], *Colors);
|
||||
}
|
||||
Elements++;
|
||||
Colors++;
|
||||
}
|
||||
UserPostMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0);
|
||||
|
||||
return nColors > 0;
|
||||
}
|
||||
|
@ -263,7 +265,7 @@ IntGetSysColors(COLORREF *Colors, UINT nColors)
|
|||
DWORD FASTCALL
|
||||
IntGetSysColor(INT nIndex)
|
||||
{
|
||||
return ((nIndex < 0) || (NUM_SYSCOLORS <= nIndex)) ? 0 : SysColors[nIndex];
|
||||
return (NUM_SYSCOLORS <= (UINT)nIndex) ? 0 : SysColors[nIndex];
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
|
|
Loading…
Reference in a new issue