mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-31 11:15:31 +03:00
128 lines
3.7 KiB
C
Executable File
128 lines
3.7 KiB
C
Executable File
|
|
#ifndef WNT
|
|
|
|
int _a_horreur_du_vide_a_la_compilation;
|
|
|
|
#else
|
|
|
|
#define STRICT
|
|
#include <windows.h>
|
|
|
|
#pragma comment( lib, "user32.lib" )
|
|
#pragma comment( lib, "gdi32.lib" )
|
|
|
|
#if WINVER >= 0x0400
|
|
# define NB_STATIC_COLORS ( COLOR_INFOBK - COLOR_SCROLLBAR + 1 )
|
|
#else
|
|
# define NB_STATIC_COLORS ( COLOR_BTNHIGHLIGHT - COLOR_SCROLLBAR + 1 )
|
|
#endif /* WINVER . . . */
|
|
|
|
#define BLACK RGB( 0, 0, 0 )
|
|
#define WHITE RGB( 255, 255, 255 )
|
|
|
|
static int s_sysPalIdx[ NB_STATIC_COLORS ] = {
|
|
|
|
COLOR_SCROLLBAR,
|
|
COLOR_BACKGROUND,
|
|
COLOR_ACTIVECAPTION,
|
|
COLOR_INACTIVECAPTION,
|
|
COLOR_MENU,
|
|
COLOR_WINDOW,
|
|
COLOR_WINDOWFRAME,
|
|
COLOR_MENUTEXT,
|
|
COLOR_WINDOWTEXT,
|
|
COLOR_CAPTIONTEXT,
|
|
COLOR_ACTIVEBORDER,
|
|
COLOR_INACTIVEBORDER,
|
|
COLOR_APPWORKSPACE,
|
|
COLOR_HIGHLIGHT,
|
|
COLOR_HIGHLIGHTTEXT,
|
|
COLOR_BTNFACE,
|
|
COLOR_BTNSHADOW,
|
|
COLOR_GRAYTEXT,
|
|
COLOR_BTNTEXT,
|
|
COLOR_INACTIVECAPTIONTEXT,
|
|
COLOR_BTNHIGHLIGHT
|
|
#if WINVER >= 0x0400
|
|
,COLOR_3DDKSHADOW,
|
|
COLOR_3DLIGHT,
|
|
COLOR_INFOTEXT,
|
|
COLOR_INFOBK
|
|
#endif /* WINVER . . . */
|
|
};
|
|
|
|
static COLORREF s_sysPalBW[ NB_STATIC_COLORS ] = {
|
|
|
|
WHITE, /* COLOR_SCROLLBAR */
|
|
BLACK, /* COLOR_BACKGROUND */
|
|
BLACK, /* COLOR_ACTIVECAPTION */
|
|
WHITE, /* COLOR_INACTIVECAPTION */
|
|
WHITE, /* COLOR_MENU */
|
|
WHITE, /* COLOR_WINDOW */
|
|
BLACK, /* COLOR_WINDOWFRAME */
|
|
BLACK, /* COLOR_MENUTEXT */
|
|
BLACK, /* COLOR_WINDOWTEXT */
|
|
WHITE, /* COLOR_CAPTIONTEXT */
|
|
WHITE, /* COLOR_ACTIVEBORDER */
|
|
WHITE, /* COLOR_INACTIVEBORDER */
|
|
WHITE, /* COLOR_APPWORKSPACE */
|
|
BLACK, /* COLOR_HIGHLIGHT */
|
|
WHITE, /* COLOR_HIGHLIGHTTEXT */
|
|
WHITE, /* COLOR_BTNFACE */
|
|
BLACK, /* COLOR_BTNSHADOW */
|
|
BLACK, /* COLOR_GRAYTEXT */
|
|
BLACK, /* COLOR_BTNTEXT */
|
|
BLACK, /* COLOR_INACTIVECAPTIONTEXT */
|
|
BLACK /* COLOR_BTNHIGHLIGHT */
|
|
#if WINVER >= 0x0400
|
|
,BLACK, /* BLACKCOLOR_3DDKSHADOW */
|
|
BLACK, /* COLOR_3DLIGHT */
|
|
BLACK, /* COLOR_INFOTEXT */
|
|
BLACK /* COLOR_INFOBK */
|
|
#endif /* WINVER . . . */
|
|
};
|
|
|
|
static BOOL s_sysUse;
|
|
static COLORREF s_sysPal[ NB_STATIC_COLORS ];
|
|
|
|
__declspec( dllexport ) long InterfaceGraphic_RealizePalette ( HDC hdc, HPALETTE hPal, BOOL fBkg, BOOL fUseStatic ) {
|
|
|
|
int i;
|
|
long retVal = 0;
|
|
|
|
if ( fUseStatic ) {
|
|
|
|
if ( !s_sysUse )
|
|
|
|
for ( i = 0; i < NB_STATIC_COLORS; ++i ) s_sysPal[ i ] = GetSysColor ( s_sysPalIdx[ i ] );
|
|
|
|
SetSystemPaletteUse ( hdc, fBkg ? SYSPAL_STATIC : SYSPAL_NOSTATIC );
|
|
|
|
if ( UnrealizeObject ( hPal ) && SelectPalette ( hdc, hPal, fBkg ) ) retVal = RealizePalette ( hdc );
|
|
|
|
if ( fBkg ) {
|
|
|
|
SetSysColors ( NB_STATIC_COLORS, s_sysPalIdx, s_sysPal );
|
|
s_sysUse = FALSE;
|
|
|
|
} else {
|
|
|
|
SetSysColors ( NB_STATIC_COLORS, s_sysPalIdx, s_sysPalBW );
|
|
s_sysUse = TRUE;
|
|
|
|
} // end else
|
|
|
|
PostMessage ( HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0 );
|
|
|
|
} else {
|
|
|
|
SelectPalette ( hdc, hPal, FALSE );
|
|
retVal = RealizePalette ( hdc );
|
|
|
|
} // end else
|
|
|
|
return retVal;
|
|
} // end RealizePaletteNow
|
|
|
|
#endif /* WNT */
|