Moved handling of the 55AA pattern brush to syscolor.c so that it can
be made a system object (found by Rein Klazes).
This commit is contained in:
parent
c2053e1ded
commit
eea415300b
|
@ -86,9 +86,6 @@ extern void SCROLL_TrackScrollBar( HWND hwnd, INT scrollbar, POINT pt );
|
||||||
extern INT SCROLL_SetNCSbState( HWND hwnd, int vMin, int vMax, int vPos,
|
extern INT SCROLL_SetNCSbState( HWND hwnd, int vMin, int vMax, int vPos,
|
||||||
int hMin, int hMax, int hPos );
|
int hMin, int hMax, int hPos );
|
||||||
|
|
||||||
/* UI tools */
|
|
||||||
extern HBRUSH UITOOLS_GetPattern55AABrush(void);
|
|
||||||
|
|
||||||
/* combo box */
|
/* combo box */
|
||||||
|
|
||||||
#define ID_CB_LISTBOX 1000
|
#define ID_CB_LISTBOX 1000
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "winnls.h"
|
#include "winnls.h"
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
|
#include "user_private.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(text);
|
WINE_DEFAULT_DEBUG_CHANNEL(text);
|
||||||
|
@ -1147,7 +1148,7 @@ static BOOL TEXT_GrayString(HDC hdc, HBRUSH hb, GRAYSTRINGPROC fn, LPARAM lp, IN
|
||||||
if(retval || len != -1)
|
if(retval || len != -1)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
hbsave = (HBRUSH)SelectObject(memdc, UITOOLS_GetPattern55AABrush());
|
hbsave = (HBRUSH)SelectObject(memdc, SYSCOLOR_55AABrush);
|
||||||
PatBlt(memdc, 0, 0, cx, cy, 0x000A0329);
|
PatBlt(memdc, 0, 0, cx, cy, 0x000A0329);
|
||||||
SelectObject(memdc, hbsave);
|
SelectObject(memdc, hbsave);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,15 +32,6 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(graphics);
|
WINE_DEFAULT_DEBUG_CHANNEL(graphics);
|
||||||
|
|
||||||
static const WORD wPattern55AA[] =
|
|
||||||
{
|
|
||||||
0x5555, 0xaaaa, 0x5555, 0xaaaa,
|
|
||||||
0x5555, 0xaaaa, 0x5555, 0xaaaa
|
|
||||||
};
|
|
||||||
|
|
||||||
static HBRUSH hPattern55AABrush;
|
|
||||||
static HBITMAP hPattern55AABitmap;
|
|
||||||
|
|
||||||
/* These tables are used in:
|
/* These tables are used in:
|
||||||
* UITOOLS_DrawDiagEdge()
|
* UITOOLS_DrawDiagEdge()
|
||||||
* UITOOLS_DrawRectEdge()
|
* UITOOLS_DrawRectEdge()
|
||||||
|
@ -122,20 +113,6 @@ static const signed char LTRBInnerFlat[] = {
|
||||||
#define COLOR_MAX COLOR_MENUBAR
|
#define COLOR_MAX COLOR_MENUBAR
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
* UITOOLS_GetPattern55AABrush
|
|
||||||
*/
|
|
||||||
HBRUSH UITOOLS_GetPattern55AABrush(void)
|
|
||||||
{
|
|
||||||
if (!hPattern55AABrush)
|
|
||||||
{
|
|
||||||
hPattern55AABitmap = CreateBitmap( 8, 8, 1, 1, wPattern55AA );
|
|
||||||
hPattern55AABrush = CreatePatternBrush( hPattern55AABitmap );
|
|
||||||
}
|
|
||||||
return hPattern55AABrush;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* UITOOLS_DrawDiagEdge
|
* UITOOLS_DrawDiagEdge
|
||||||
*
|
*
|
||||||
|
@ -647,7 +624,7 @@ static void UITOOLS_DrawCheckedRect( HDC dc, LPRECT rect )
|
||||||
|
|
||||||
FillRect(dc, rect, GetSysColorBrush(COLOR_BTNFACE));
|
FillRect(dc, rect, GetSysColorBrush(COLOR_BTNFACE));
|
||||||
bg = SetBkColor(dc, RGB(255, 255, 255));
|
bg = SetBkColor(dc, RGB(255, 255, 255));
|
||||||
hbsave = SelectObject(dc, UITOOLS_GetPattern55AABrush());
|
hbsave = SelectObject(dc, SYSCOLOR_55AABrush);
|
||||||
PatBlt(dc, rect->left, rect->top, rect->right-rect->left, rect->bottom-rect->top, 0x00FA0089);
|
PatBlt(dc, rect->left, rect->top, rect->right-rect->left, rect->bottom-rect->top, 0x00FA0089);
|
||||||
SelectObject(dc, hbsave);
|
SelectObject(dc, hbsave);
|
||||||
SetBkColor(dc, bg);
|
SetBkColor(dc, bg);
|
||||||
|
@ -1858,7 +1835,7 @@ static BOOL UITOOLS_DrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC func, LPARAM lp
|
||||||
/* This state cause the image to be dithered */
|
/* This state cause the image to be dithered */
|
||||||
if(flags & DSS_UNION)
|
if(flags & DSS_UNION)
|
||||||
{
|
{
|
||||||
hbsave = (HBRUSH)SelectObject(memdc, UITOOLS_GetPattern55AABrush());
|
hbsave = (HBRUSH)SelectObject(memdc, SYSCOLOR_55AABrush);
|
||||||
if(!hbsave) goto cleanup;
|
if(!hbsave) goto cleanup;
|
||||||
tmp = PatBlt(memdc, 0, 0, cx, cy, 0x00FA0089);
|
tmp = PatBlt(memdc, 0, 0, cx, cy, 0x00FA0089);
|
||||||
SelectObject(memdc, hbsave);
|
SelectObject(memdc, hbsave);
|
||||||
|
|
|
@ -121,6 +121,7 @@ extern USER_DRIVER USER_Driver;
|
||||||
|
|
||||||
extern HMODULE user32_module;
|
extern HMODULE user32_module;
|
||||||
extern DWORD USER16_AlertableWait;
|
extern DWORD USER16_AlertableWait;
|
||||||
|
extern HBRUSH SYSCOLOR_55AABrush;
|
||||||
|
|
||||||
extern BOOL CLIPBOARD_ReleaseOwner(void);
|
extern BOOL CLIPBOARD_ReleaseOwner(void);
|
||||||
extern BOOL FOCUS_MouseActivate( HWND hwnd );
|
extern BOOL FOCUS_MouseActivate( HWND hwnd );
|
||||||
|
|
|
@ -166,7 +166,7 @@ HBRUSH DEFWND_ControlColor( HDC hDC, UINT ctlType )
|
||||||
* look different from the window background.
|
* look different from the window background.
|
||||||
*/
|
*/
|
||||||
if (bk == GetSysColor(COLOR_WINDOW))
|
if (bk == GetSysColor(COLOR_WINDOW))
|
||||||
return UITOOLS_GetPattern55AABrush();
|
return SYSCOLOR_55AABrush;
|
||||||
|
|
||||||
UnrealizeObject( hb );
|
UnrealizeObject( hb );
|
||||||
return hb;
|
return hb;
|
||||||
|
|
|
@ -259,7 +259,7 @@ BOOL WINAPI DrawCaptionTempW (HWND hwnd, HDC hdc, const RECT *rect, HFONT hFont,
|
||||||
FillRect (hdc, &rc, GetSysColorBrush (COLOR_3DFACE));
|
FillRect (hdc, &rc, GetSysColorBrush (COLOR_3DFACE));
|
||||||
|
|
||||||
if (uFlags & DC_ACTIVE) {
|
if (uFlags & DC_ACTIVE) {
|
||||||
HBRUSH hbr = SelectObject (hdc, UITOOLS_GetPattern55AABrush ());
|
HBRUSH hbr = SelectObject (hdc, SYSCOLOR_55AABrush);
|
||||||
PatBlt (hdc, rc.left, rc.top,
|
PatBlt (hdc, rc.left, rc.top,
|
||||||
rc.right-rc.left, rc.bottom-rc.top, 0xFA0089);
|
rc.right-rc.left, rc.bottom-rc.top, 0xFA0089);
|
||||||
SelectObject (hdc, hbr);
|
SelectObject (hdc, hbr);
|
||||||
|
|
|
@ -80,6 +80,11 @@ static COLORREF SysColors[NUM_SYS_COLORS];
|
||||||
static HBRUSH SysColorBrushes[NUM_SYS_COLORS];
|
static HBRUSH SysColorBrushes[NUM_SYS_COLORS];
|
||||||
static HPEN SysColorPens[NUM_SYS_COLORS];
|
static HPEN SysColorPens[NUM_SYS_COLORS];
|
||||||
|
|
||||||
|
static const WORD wPattern55AA[] =
|
||||||
|
{ 0x5555, 0xaaaa, 0x5555, 0xaaaa, 0x5555, 0xaaaa, 0x5555, 0xaaaa };
|
||||||
|
|
||||||
|
HBRUSH SYSCOLOR_55AABrush = 0;
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* SYSCOLOR_MakeObjectSystem
|
* SYSCOLOR_MakeObjectSystem
|
||||||
|
@ -145,6 +150,7 @@ void SYSCOLOR_Init(void)
|
||||||
char buffer[100];
|
char buffer[100];
|
||||||
BOOL bOk = FALSE, bNoReg = FALSE;
|
BOOL bOk = FALSE, bNoReg = FALSE;
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
|
HBITMAP h55AABitmap;
|
||||||
|
|
||||||
/* first, try to read the values from the registry */
|
/* first, try to read the values from the registry */
|
||||||
if (RegCreateKeyExA(HKEY_CURRENT_USER, "Control Panel\\Colors", 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0))
|
if (RegCreateKeyExA(HKEY_CURRENT_USER, "Control Panel\\Colors", 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0))
|
||||||
|
@ -178,6 +184,10 @@ void SYSCOLOR_Init(void)
|
||||||
}
|
}
|
||||||
if (!bNoReg)
|
if (!bNoReg)
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
|
h55AABitmap = CreateBitmap( 8, 8, 1, 1, wPattern55AA );
|
||||||
|
SYSCOLOR_55AABrush = CreatePatternBrush( h55AABitmap );
|
||||||
|
SYSCOLOR_MakeObjectSystem( HBRUSH_16(SYSCOLOR_55AABrush), TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -316,5 +326,4 @@ HPEN SYSCOLOR_GetPen( INT index )
|
||||||
/* We can assert here, because this function is internal to Wine */
|
/* We can assert here, because this function is internal to Wine */
|
||||||
assert (0 <= index && index < NUM_SYS_COLORS);
|
assert (0 <= index && index < NUM_SYS_COLORS);
|
||||||
return SysColorPens[index];
|
return SysColorPens[index];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue