mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +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,
|
DWORD ROP,
|
||||||
PGDIBRUSHOBJ BrushObj);
|
PGDIBRUSHOBJ BrushObj);
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
|
||||||
|
|
||||||
/* Pen functions */
|
/* Pen functions */
|
||||||
|
|
||||||
HPEN FASTCALL
|
HPEN FASTCALL
|
||||||
IntGdiCreatePenIndirect(PLOGPEN lgpn);
|
IntGdiCreatePenIndirect(PLOGPEN lgpn);
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
IntGdiSetSolidPenColor(HPEN hPen, COLORREF Color);
|
||||||
|
|
||||||
/* Line functions */
|
/* Line functions */
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
|
|
|
@ -847,4 +847,17 @@ NtGdiPatBlt(
|
||||||
return ret;
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -186,4 +186,17 @@ NtGdiExtCreatePen(
|
||||||
return IntGdiCreatePenIndirect(&LogPen);
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -177,14 +177,16 @@ IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors)
|
||||||
|
|
||||||
for(i = 0; i < nColors; i++)
|
for(i = 0; i < nColors; i++)
|
||||||
{
|
{
|
||||||
if((*Elements) >= 0 && (*Elements) < NUM_SYSCOLORS)
|
if((UINT)(*Elements) < NUM_SYSCOLORS)
|
||||||
{
|
{
|
||||||
SysColors[*Elements] = *Colors;
|
SysColors[*Elements] = *Colors;
|
||||||
/* FIXME - update the syscolor pens and brushes */
|
IntGdiSetSolidBrushColor(SysColorBrushes[*Elements], *Colors);
|
||||||
|
IntGdiSetSolidPenColor(SysColorPens[*Elements], *Colors);
|
||||||
}
|
}
|
||||||
Elements++;
|
Elements++;
|
||||||
Colors++;
|
Colors++;
|
||||||
}
|
}
|
||||||
|
UserPostMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0);
|
||||||
|
|
||||||
return nColors > 0;
|
return nColors > 0;
|
||||||
}
|
}
|
||||||
|
@ -263,7 +265,7 @@ IntGetSysColors(COLORREF *Colors, UINT nColors)
|
||||||
DWORD FASTCALL
|
DWORD FASTCALL
|
||||||
IntGetSysColor(INT nIndex)
|
IntGetSysColor(INT nIndex)
|
||||||
{
|
{
|
||||||
return ((nIndex < 0) || (NUM_SYSCOLORS <= nIndex)) ? 0 : SysColors[nIndex];
|
return (NUM_SYSCOLORS <= (UINT)nIndex) ? 0 : SysColors[nIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
|
|
Loading…
Reference in a new issue