You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
4.4 KiB
152 lines
4.4 KiB
#ifdef ARRAYSIZE
|
|
#undef ARRAYSIZE
|
|
#endif
|
|
|
|
#ifdef SIZEOF
|
|
#undef SIZEOF
|
|
#endif
|
|
|
|
#define CCH_MAX_STRING 256
|
|
#define CCH_NONE 20 /* ARRAYSIZE( "(None)" ), big enough for German */
|
|
|
|
#define CMSEC_COVER_WINDOW_TIMEOUT (15 * 1000) // 15 second timeout
|
|
#define ID_CVRWND_TIMER 0x96F251CC // somewhat uniq id
|
|
|
|
//
|
|
// Extra bits for the TraceMsg function
|
|
//
|
|
|
|
#define TF_DUMP_DEVMODE 0x20000000
|
|
#define TF_DUMP_CSETTINGS 0x40000000
|
|
#define TF_DUMP_DEVMODELIST 0x80000000
|
|
#define TF_OC 0x01000000
|
|
#define TF_SETUP 0x02000000
|
|
|
|
// Maximum number of pages we will put in the PropertySheets
|
|
#define MAX_PAGES 24
|
|
|
|
|
|
// information about the monitor bitmap
|
|
// x, y, dx, dy define the size of the "screen" part of the bitmap
|
|
// the RGB is the color of the screen's desktop
|
|
// these numbers are VERY hard-coded to a monitor bitmap
|
|
#define MON_X 16
|
|
#define MON_Y 17
|
|
#define MON_DX 152
|
|
#define MON_DY 112
|
|
#define MON_W 184
|
|
#define MON_H 170
|
|
#define MON_RGB RGB(0, 128, 128)
|
|
#define MON_TRAY 8
|
|
|
|
#define CDPI_NORMAL 96 // Arbitrarily, 96dpi is "Normal"
|
|
|
|
|
|
|
|
BOOL DeskInitCpl(void);
|
|
void DeskShowPropSheet( HINSTANCE hInst, HWND hwndParent, LPCTSTR szCmdLine );
|
|
BOOL CALLBACK _AddDisplayPropSheetPage(HPROPSHEETPAGE hpage, LPARAM lParam);
|
|
|
|
INT_PTR APIENTRY BackgroundDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ScreenSaverDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY AppearanceDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY AdvancedAppearanceDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK GeneralPageProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK MultiMonitorDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
BOOL GetAdvMonitorPropPage(LPVOID lpv, LPFNADDPROPSHEETPAGE lpfnAdd, LPARAM lparam);
|
|
BOOL GetAdvMonitorPropPageParam(LPVOID lpv, LPFNADDPROPSHEETPAGE lpfnAdd, LPARAM lparam, LPARAM lparamPage);
|
|
|
|
INT_PTR APIENTRY DeskDefPropPageProc( HWND hDlg, UINT message, UINT wParam, LONG lParam);
|
|
|
|
// logging API
|
|
#define DeskOpenLog() SetupOpenLog(FALSE)
|
|
#define DeskCloseLog() SetupCloseLog()
|
|
|
|
BOOL
|
|
CDECL
|
|
DeskLogError(
|
|
LogSeverity Severity,
|
|
UINT MsgId,
|
|
...
|
|
) ;
|
|
|
|
|
|
// fixreg.c
|
|
void FixupRegistryHandlers(void);
|
|
BOOL GetDisplayKey(int i, LPTSTR szKey, DWORD cb);
|
|
void NukeDisplaySettings(void);
|
|
|
|
// background previewer includes
|
|
|
|
#define BP_NEWPAT 0x01 // pattern changed
|
|
#define BP_NEWWALL 0x02 // wallpaper changed
|
|
#define BP_TILE 0x04 // tile the wallpaper (center otherwise)
|
|
#define BP_REINIT 0x08 // reload the image (system colors changed)
|
|
|
|
#define WM_SETBACKINFO (WM_USER + 1)
|
|
|
|
#define BACKPREV_CLASS TEXT("BackgroundPreview")
|
|
|
|
BOOL FAR PASCAL RegisterLookPreviewClass(HINSTANCE hInst);
|
|
|
|
HBITMAP FAR LoadMonitorBitmap( BOOL bFillDesktop );
|
|
|
|
|
|
|
|
//#define Assert(p) /* nothing */
|
|
|
|
#define ARRAYSIZE( a ) (sizeof(a) / sizeof(a[0]))
|
|
#define SIZEOF( a ) sizeof(a)
|
|
|
|
|
|
//
|
|
// CreateCoverWindow
|
|
//
|
|
// creates a window which obscures the display
|
|
// flags:
|
|
// 0 means erase to black
|
|
// COVER_NOPAINT means "freeze" the display
|
|
//
|
|
// just post it a WM_CLOSE when you're done with it
|
|
//
|
|
#define COVER_NOPAINT (0x1)
|
|
//
|
|
HWND FAR PASCAL CreateCoverWindow( DWORD flags );
|
|
void DestroyCoverWindow(HWND hwndCover);
|
|
int FmtMessageBox(HWND hwnd, UINT fuStyle, DWORD dwTitleID, DWORD dwTextID);
|
|
|
|
typedef struct tagREPLACEPAGE_LPARAM
|
|
{
|
|
PROPSHEETHEADER FAR * ppsh;
|
|
IThemeUIPages * ptuiPages;
|
|
} REPLACEPAGE_LPARAM;
|
|
|
|
//
|
|
// Macro to replace MAKEPOINT() since points now have 32 bit x & y
|
|
//
|
|
#define LPARAM2POINT( lp, ppt ) \
|
|
((ppt)->x = (int)(short)LOWORD(lp), (ppt)->y = (int)(short)HIWORD(lp))
|
|
|
|
//
|
|
// Globals
|
|
//
|
|
extern HINSTANCE hInstance;
|
|
extern TCHAR gszDeskCaption[CCH_MAX_STRING];
|
|
|
|
extern TCHAR g_szNULL[];
|
|
extern TCHAR g_szNone[CCH_NONE];
|
|
extern TCHAR g_szControlIni[];
|
|
extern TCHAR g_szPatterns[];
|
|
|
|
extern TCHAR g_szCurPattern[]; // name of currently selected pattern
|
|
extern TCHAR g_szCurWallpaper[]; // name of currently selected wallpaper
|
|
extern BOOL g_bValidBitmap; // whether or not wallpaper is valid
|
|
|
|
extern TCHAR g_szBoot[];
|
|
extern TCHAR g_szSystemIni[];
|
|
extern TCHAR g_szWindows[];
|
|
|
|
extern HDC g_hdcMem;
|
|
extern HBITMAP g_hbmDefault;
|