|
|
// fakewin.h
//
// include file for FAKEWIN.C
//
// Frosting: Master Theme Selector for Windows '95
// Copyright (c) 1994-1998 Microsoft Corporation. All rights reserved.
//
// external routines
extern int FAR WriteBytesToBuffer(LPTSTR);
//
// typedefs and defines
// fonts
#define FONT_NONE -1
#define FONT_CAPTION 0
#define FONT_MENU 1
#define FONT_ICONTITLE 2
#define FONT_STATUS 3
#define FONT_MSGBOX 4
//#define FONT_SMCAPTION 1
#define NUM_FONTS 5
typedef struct { HFONT hfont; LOGFONT lf; } LOOK_FONT;
typedef struct { int iFont; RECT rc; } LOOK_ELEMENT;
// JDK:
// Actually, this only seems to be used to get the count of elements
// directly following this defn. Otherwise unused in CPL code.
//
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//this order has to match the array order in lookdlg.c // g_elements below
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
enum _ELEMENTS { ELEMENT_APPSPACE = 0,
// ELEMENT_DESKTOP,
ELEMENT_INACTIVEBORDER, ELEMENT_ACTIVEBORDER, ELEMENT_INACTIVECAPTION, ELEMENT_INACTIVESYSBUT1, ELEMENT_INACTIVESYSBUT2, ELEMENT_ACTIVECAPTION, ELEMENT_ACTIVESYSBUT1, ELEMENT_ACTIVESYSBUT2, ELEMENT_MENUNORMAL, ELEMENT_MENUSELECTED, ELEMENT_MENUDISABLED, ELEMENT_WINDOW, ELEMENT_MSGBOX, ELEMENT_MSGBOXCAPTION, ELEMENT_MSGBOXSYSBUT, ELEMENT_SCROLLBAR, ELEMENT_SCROLLUP, ELEMENT_SCROLLDOWN, ELEMENT_BUTTON,
// ELEMENT_SMCAPTION,
ELEMENT_ICON, ELEMENT_ICONHORZSPACING, ELEMENT_ICONVERTSPACING, ELEMENT_INFO }; // BOGUS: need to get a size from somewhere
#define NUM_ELEMENTS (ELEMENT_INFO+1)
// KEEP IN SYNC WITH pRegColors in REGUTILS.C!!
// BOGUS twice: need to get a size from somewhere
#define MAX_COLORS (COLOR_GRADIENTINACTIVECAPTION+1)
//
// globals
// jdk: see note above enum above
// NOTE: the order in g_elements must match the enum order above
HPALETTE hpal3D = NULL; // only exist if palette device
BOOL bPalette = FALSE; // is this a palette device?
int cyFixedBorder; int cxFixedBorder; int cxFixedEdge; int cyFixedEdge; int cxSize; // ***DEBUG*** this shouldn't really be fixed, should it?
LOOK_FONT g_fonts[NUM_FONTS];
COLORREF g_rgb[MAX_COLORS]; HBRUSH g_brushes[MAX_COLORS];
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//this order has to match the enum order above
// jdk: see also not above
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LOOK_ELEMENT g_elements[] = { /* ELEMENT_APPSPACE */ {FONT_NONE, {-1,-1,-1,-1}},
// /* ELEMENT_DESKTOP */ {FONT_NONE, {-1,-1,-1,-1}},
/* ELEMENT_INACTIVEBORDER */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_ACTIVEBORDER */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_INACTIVECAPTION */ {FONT_CAPTION, {-1,-1,-1,-1}}, /* ELEMENT_INACTIVESYSBUT1 */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_INACTIVESYSBUT2 */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_ACTIVECAPTION */ {FONT_CAPTION, {-1,-1,-1,-1}}, /* ELEMENT_ACTIVESYSBUT1 */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_ACTIVESYSBUT2 */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_MENUNORMAL */ {FONT_MENU, {-1,-1,-1,-1}}, /* ELEMENT_MENUSELECTED */ {FONT_MENU, {-1,-1,-1,-1}}, /* ELEMENT_MENUDISABLED */ {FONT_MENU, {-1,-1,-1,-1}}, /* ELEMENT_WINDOW */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_MSGBOX */ {FONT_MSGBOX, {-1,-1,-1,-1}}, /* ELEMENT_MSGBOXCAPTION */ {FONT_CAPTION, {-1,-1,-1,-1}}, /* ELEMENT_MSGBOXSYSBUT */ {FONT_CAPTION, {-1,-1,-1,-1}}, // do not even try to set a scr
/* ELEMENT_SCROLLBAR */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_SCROLLUP */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_SCROLLDOWN */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_BUTTON */ {FONT_NONE, {-1,-1,-1,-1}}, // /* ELEMENT_SMCAPTION */ {FONT_SMCAPTION, {-1,-1,-1,-1}},
/* ELEMENT_ICON */ {FONT_ICONTITLE, {-1,-1,-1,-1}}, /* ELEMENT_ICONHORZSPACING */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_ICONVERTSPACING */ {FONT_NONE, {-1,-1,-1,-1}}, /* ELEMENT_INFO */ {FONT_STATUS, {-1,-1,-1,-1}}, };
#define RCZ(element) g_elements[element].rc
TCHAR szFakeActive[40]; TCHAR szFakeInactive[40]; TCHAR szFakeMinimized[40]; TCHAR szFakeIconTitle[40]; TCHAR szFakeNormal[40]; TCHAR szFakeDisabled[40]; TCHAR szFakeSelected[40]; TCHAR szFakeMsgBox[40]; TCHAR szFakeButton[40]; //TCHAR szFakeSmallCaption[40];
TCHAR szFakeWindowText[40]; TCHAR szFakeMsgBoxText[40]; TCHAR szFakeABC[] = TEXT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
HMENU hmenuFake;
|