608 lines
20 KiB
C
608 lines
20 KiB
C
|
/* FROST.H
|
||
|
|
||
|
Include file for Frosting project.
|
||
|
|
||
|
Frosting: Master Theme Selector for Windows '95
|
||
|
Copyright (c) 1994-1999 Microsoft Corporation. All rights reserved.
|
||
|
*/
|
||
|
|
||
|
#ifdef DBG
|
||
|
#define _DEBUG
|
||
|
#define DEBUG
|
||
|
#endif
|
||
|
|
||
|
//-----------------------
|
||
|
// D I A L O G I D S
|
||
|
//-----------------------
|
||
|
|
||
|
// dialog box IDs
|
||
|
#define DLG_MAIN 10
|
||
|
#define DLG_SAVE 12
|
||
|
//#define DLG_ETC 14
|
||
|
#define DLG_BPPCHOICE 20
|
||
|
#define DLGPROP_PTRS 30
|
||
|
#define DLGPROP_SNDS 32
|
||
|
#define DLGPROP_PICS 34
|
||
|
|
||
|
|
||
|
// Common control IDs
|
||
|
#define IDC_STATIC -1
|
||
|
|
||
|
//
|
||
|
// PREVIEW DIALOG CONTROL IDS
|
||
|
|
||
|
// Theme groupbox
|
||
|
#define DDL_THEME 100
|
||
|
#define PB_SAVE 110
|
||
|
#define PB_DELETE 120
|
||
|
#define RECT_PREVIEW 130
|
||
|
#define RECT_FAKEWIN 140
|
||
|
#define RECT_ICONS 150
|
||
|
#define TEXT_VIEW 160
|
||
|
|
||
|
// Previews groupbox
|
||
|
#define PB_SCRSVR 200
|
||
|
#define PB_POINTERS 210
|
||
|
|
||
|
// Settings groupbox
|
||
|
#define CB_SCRSVR 300
|
||
|
#define CB_SOUND 310
|
||
|
#define CB_PTRS 320
|
||
|
#define CB_WALL 330
|
||
|
#define CB_ICONS 340
|
||
|
//#define CB_ICONSIZE 345
|
||
|
#define CB_COLORS 350
|
||
|
#define CB_FONTS 360
|
||
|
#define CB_BORDERS 370
|
||
|
#define CB_SCHEDULE 380
|
||
|
|
||
|
// Control buttons
|
||
|
#define PB_APPLY 400
|
||
|
|
||
|
// FOR PREVIEW SAMPLE
|
||
|
|
||
|
// appearance preview menu
|
||
|
#define IDR_MENU 1
|
||
|
#define IDM_NORMAL 10
|
||
|
#define IDM_DISABLED 11
|
||
|
#define IDM_SELECTED 12
|
||
|
|
||
|
|
||
|
//
|
||
|
// SAVEAS DIALOG CONTROL IDS
|
||
|
|
||
|
#define EC_THEME 500
|
||
|
|
||
|
//
|
||
|
// POINTERS/ETC DIALOG CONTROL IDS
|
||
|
#define PB_TEST 600
|
||
|
#define PB_PLAY 602
|
||
|
#define LB_PTRS 610
|
||
|
#define LB_SNDS 612
|
||
|
#define LB_PICS 614
|
||
|
#define TXT_FILENAME 620
|
||
|
|
||
|
//
|
||
|
// Theme BPP choice dlg
|
||
|
#define RB_ALL 700
|
||
|
#define RB_SOME 701
|
||
|
#define RB_NONE 702
|
||
|
#define CB_CUT_IT_OUT 730
|
||
|
|
||
|
//
|
||
|
// NT Task Scheduler Username/Password dialog
|
||
|
#define STR_PW_NOMATCH 27
|
||
|
#define STR_PWTITLE 28
|
||
|
#define DLG_PASSWORD 101
|
||
|
#define EDIT_USER 1000
|
||
|
#define EDIT_PW 1001
|
||
|
#define EDIT_PWCONFIRM 1002
|
||
|
#define STATIC_PW 1003
|
||
|
#define STATIC_PWCONFIRM 1004
|
||
|
#define STATIC_USER 1005
|
||
|
#define STATIC_PWDESC 1006
|
||
|
|
||
|
|
||
|
//-----------------------
|
||
|
// S T R I N G I D S
|
||
|
//-----------------------
|
||
|
|
||
|
// important constants for strings
|
||
|
#define MAX_STRLEN 80 // TRANSLATORS: English strs max 40
|
||
|
#define MAX_PATHLEN MAX_PATH // fullpathname/filename max
|
||
|
// note windef.h has 260; 255 for file
|
||
|
// note2 -- dschott changed from 255 to
|
||
|
// MAX_PATH
|
||
|
#define MAX_MSGLEN 512 // TRANSLATORS: English strs max 256
|
||
|
// MAX_MSGLEN must be at least 2xMAX_STRLEN
|
||
|
// MAX_MSGLEN must be at least 2xMAX_PATHLEN
|
||
|
|
||
|
//
|
||
|
// Try to keep the general strings and low mem strings
|
||
|
// ids within the range of 0-15, one resource block at boot.
|
||
|
|
||
|
// WARNING -- STR_APPNAME is also defined in HTMLPREV.CPP
|
||
|
// general strings
|
||
|
#define STR_APPNAME 0
|
||
|
#define STR_CURSET 1
|
||
|
#define STR_PREVSET 2
|
||
|
#define STR_THMEXT 3
|
||
|
#define STR_FILETYPE 4
|
||
|
#define STR_THEMESUBDIR 5
|
||
|
#define STR_PREVIEWTITLE 6
|
||
|
#define STR_HELPFILE 7
|
||
|
#define STR_PREVIEWDLG 8
|
||
|
#define STR_OTHERTHM 9
|
||
|
#define STR_HELPFILE98 700
|
||
|
#define STR_JOB_NAME 701
|
||
|
#define STR_JOB_COMMENT 702
|
||
|
|
||
|
// low mem strings
|
||
|
#define STR_NOT_ENUF 10 // THIS LOWMEM STRING MUST COME FIRST
|
||
|
// OTHER LOWMEM STRS MUST BE SQUENTIAL
|
||
|
#define STR_TO_RUN 11
|
||
|
#define STR_TO_SAVE 12
|
||
|
#define STR_TO_LIST 13
|
||
|
#define STR_TO_PREVIEW 14
|
||
|
#define STR_TO_APPLY 15
|
||
|
#define NUM_NOMEM_STRS 6 // KEEP THIS UPDATED IF ADDING LOWMEM STRS
|
||
|
// counts not enuf str + all the to strs
|
||
|
|
||
|
// error strings
|
||
|
#define STR_ERRBADTHEME 16 // theme file in list didn't pass verification
|
||
|
#define STR_ERRBADOPEN 17 // theme file in open didn't pass verification
|
||
|
#define STR_ERRCANTDEL 18 // problem deleting
|
||
|
#define STR_ERRAPPLY 19 // couldn't apply everything
|
||
|
#define STR_ERRCANTSAVE 20 // couldn't write theme to file
|
||
|
#define STR_ERRNEEDSPACE 21 // Not enough space on drive to apply theme
|
||
|
#define STR_ERRTSNOTRUN 22 // Task Scheduler is not running -- want to start?
|
||
|
#define STR_ERRTSNOTFOUND 23 // MSTASK.EXE could not be found
|
||
|
#define STR_ERRTSNOSTART 24 // Error starting Task Scheduler
|
||
|
#define STR_ERRTS 25 // Error accessing Task Scheduler
|
||
|
// WARNING STR_ERRHTML is also defined in HTMLPREV.CPP
|
||
|
#define STR_ERRHTML 26 // Error getting HTML wallpaper preview
|
||
|
#define STR_ERRNOUNICODE 29 // Error trying to run UNICODE binary on Win9x or NT ver not Win2000
|
||
|
#define STR_ERRTSNOTADMIN 30 // Error, can't turn on TS because not admin
|
||
|
#define STR_ERRBAD9XVER 31 // Error, trying to run on Win9x platform that is not Win98 or later
|
||
|
|
||
|
// misc strings
|
||
|
#define STR_CONFIRM_DEL 32
|
||
|
#define STR_SUGGEST 33
|
||
|
#define STR_SAVETITLE 34
|
||
|
#define STR_OPENTITLE 35
|
||
|
#define STR_PREVSETFILE 36
|
||
|
#define STR_FILEEXISTS 37 // file already exists text
|
||
|
|
||
|
#define STR_WHATSTHIS 43
|
||
|
// icon preview label texts
|
||
|
#define STR_MYCOMPUTER 44 // ORDER AND CONTIGUITY MATTERS
|
||
|
#define STR_NETNHBD 45 // change with order of fsRoot in keys.h
|
||
|
#define STR_TRASH 46
|
||
|
#define STR_MYDOCS 47
|
||
|
|
||
|
|
||
|
// property sheet titles
|
||
|
#define STR_TITLE_ETC 48 // prop sheet title
|
||
|
#define STR_TITLE_PTRS 49 // tab titles
|
||
|
#define STR_TITLE_SNDS 50
|
||
|
#define STR_TITLE_PICS 51
|
||
|
|
||
|
// appearance strings for preview sample window
|
||
|
#define IDS_ACTIVE 52
|
||
|
#define IDS_INACTIVE 53
|
||
|
#define IDS_MINIMIZED 54
|
||
|
#define IDS_ICONTITLE 55
|
||
|
#define IDS_NORMAL 56
|
||
|
#define IDS_DISABLED 57
|
||
|
#define IDS_SELECTED 58
|
||
|
#define IDS_MSGBOX 59
|
||
|
#define IDS_BUTTONTEXT 60
|
||
|
#define IDS_SMCAPTION 61
|
||
|
#define IDS_WINDOWTEXT 62
|
||
|
#define IDS_MSGBOXTEXT 63
|
||
|
|
||
|
// strings for cursor dialog listbox
|
||
|
#define STR_CUR_ARROW 64
|
||
|
#define STR_CUR_HELP 65
|
||
|
#define STR_CUR_APPSTART 66
|
||
|
#define STR_CUR_WAIT 67
|
||
|
#define STR_CUR_NWPEN 68
|
||
|
#define STR_CUR_NO 69
|
||
|
#define STR_CUR_SIZENS 70
|
||
|
#define STR_CUR_SIZEWE 71
|
||
|
#define STR_CUR_CROSSHAIR 72
|
||
|
#define STR_CUR_IBEAM 73
|
||
|
#define STR_CUR_SIZENWSE 74
|
||
|
#define STR_CUR_SIZENESW 75
|
||
|
#define STR_CUR_SIZEALL 76
|
||
|
#define STR_CUR_UPARROW 77
|
||
|
|
||
|
// strings for sounds dialog listbox
|
||
|
#define STR_SND_DEF 80
|
||
|
#define STR_SND_GPF 81
|
||
|
#define STR_SND_MAX 82
|
||
|
#define STR_SND_MENUCMD 83
|
||
|
#define STR_SND_MENUPOP 84
|
||
|
#define STR_SND_MIN 85
|
||
|
#define STR_SND_OPEN 86
|
||
|
#define STR_SND_CLOSE 87
|
||
|
#define STR_SND_RESTDOWN 88
|
||
|
#define STR_SND_RESTUP 89
|
||
|
#define STR_SND_RINGIN 90
|
||
|
#define STR_SND_RINGOUT 91
|
||
|
#define STR_SND_SYSASTER 92
|
||
|
#define STR_SND_SYSDEF 93
|
||
|
#define STR_SND_SYSEXCL 94
|
||
|
#define STR_SND_SYSEXIT 95
|
||
|
#define STR_SND_SYSHAND 96
|
||
|
#define STR_SND_SYSQUEST 97
|
||
|
#define STR_SND_SYSSTART 98
|
||
|
#define STR_SND_TOSSTRASH 99
|
||
|
#define STR_SND_MAILBEEP 100
|
||
|
|
||
|
// strings for visuals dialog listbox
|
||
|
#define STR_PIC_WALL 106
|
||
|
#define STR_PIC_MYCOMP 107
|
||
|
#define STR_PIC_NETHOOD 108
|
||
|
#define STR_PIC_RECBINFULL 109
|
||
|
#define STR_PIC_RECBINEMPTY 110
|
||
|
#define STR_PIC_MYDOCS 111
|
||
|
#define STR_PIC_SCRSAV 112
|
||
|
|
||
|
//---------------------
|
||
|
// O T H E R I D S
|
||
|
//---------------------
|
||
|
|
||
|
#define FROST_ICON 40
|
||
|
|
||
|
#define PLAY_BITMAP 1
|
||
|
#define BMP_QUESTION 2
|
||
|
|
||
|
//------------------------------------------------
|
||
|
// Flags for IActiveDesktop::GetWallpaperOptions()
|
||
|
// IActiveDesktop::SetWallpaperOptions()
|
||
|
//
|
||
|
// stolen from SHLOBJ.H
|
||
|
//------------------------------------------------
|
||
|
#define WPSTYLE_CENTER 0
|
||
|
#define WPSTYLE_TILE 1
|
||
|
#define WPSTYLE_STRETCH 2
|
||
|
#define WPSTYLE_MAX 3
|
||
|
|
||
|
|
||
|
//---------------------
|
||
|
// C O N S T A N T S
|
||
|
//---------------------
|
||
|
#define ICON_WIDTH 32 // change if you change icon to dif size!
|
||
|
#define ICON_HEIGHT 32
|
||
|
|
||
|
#define APPLY_ALL 1 // for low color apply filter flag
|
||
|
#define APPLY_SOME 2
|
||
|
#define APPLY_NONE 3
|
||
|
|
||
|
//SYNCHRONIZATION ALERT -- dependent on values in ADDON.H
|
||
|
#define HELP_PLUS98 2028 // Help topics with this ID or greater are
|
||
|
// found in PLUS!98.HLP.
|
||
|
|
||
|
|
||
|
//------------------------------------
|
||
|
// O T H E R U S E F U L S T U F F
|
||
|
//------------------------------------
|
||
|
#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0]))
|
||
|
#define SZSIZEINBYTES(x) (lstrlen(x)*sizeof(TCHAR)+1)
|
||
|
|
||
|
// *** NUMBER AND ORDER ALERT
|
||
|
//
|
||
|
// WARNING: keep these up to date when change ETCDLG.C and/or KEYS.H
|
||
|
//
|
||
|
// *** NUMBER AND ORDER ALERT
|
||
|
|
||
|
#define NUM_CURSORS 14
|
||
|
#define FIRST_SOUND 2 // 0-based
|
||
|
#define NUM_SOUNDS 21
|
||
|
|
||
|
// SYNCHRONIZATION WARNING!! -- Keep in SYNC with pRegColors[] array
|
||
|
// in REGUTILS.C.
|
||
|
#define INDEX_ACTIVE 0
|
||
|
#define INDEX_INACTIVE 8
|
||
|
#define INDEX_GRADIENTACTIVE 27
|
||
|
#define INDEX_GRADIENTINACTIVE 28
|
||
|
|
||
|
|
||
|
// for ConfirmFile()
|
||
|
#define CF_EXISTS 1
|
||
|
#define CF_FOUND 2
|
||
|
#define CF_NOTFOUND 3
|
||
|
|
||
|
//---------------------
|
||
|
// T Y P E S
|
||
|
//---------------------
|
||
|
|
||
|
typedef struct {
|
||
|
TCHAR *szValName; // register key value name
|
||
|
int iValType; // REG_* flag for value type to read/write
|
||
|
BOOL bValRelPath; // relative pathname file string in this val?
|
||
|
int fValCheckbox; // chkbox that controls setting this value
|
||
|
} FROST_VALUE;
|
||
|
|
||
|
typedef struct {
|
||
|
TCHAR *szSubKey; // register subkey name string,
|
||
|
// below ROOT or CUR_USER
|
||
|
int fValues; // flag for number/type of values; see below
|
||
|
BOOL bDefRelPath; // relative pathname file str? for deflt str
|
||
|
FROST_VALUE *fvVals; // pointer to array of valuenames
|
||
|
int iNumVals; // number of values
|
||
|
int fDefCheckbox; // chkbox that controls setting Default str
|
||
|
} FROST_SUBKEY;
|
||
|
|
||
|
typedef struct {
|
||
|
DWORD dwControlID;
|
||
|
DWORD dwHelpContextID;
|
||
|
} POPUP_HELP_ARRAY;
|
||
|
|
||
|
// defs for fValues field
|
||
|
#define FV_DEFAULT 1 // single value associated with this key
|
||
|
// name; like old INI file routines
|
||
|
// save time, space, energy for common case.
|
||
|
// fvVals is not used in this case.
|
||
|
|
||
|
#define FV_LIST 2 // normal case of array of FROST_VALUEs
|
||
|
|
||
|
#define FV_LISTPLUSDEFAULT 3 // normal list like FV_LIST, AND one member
|
||
|
// of which is the default string
|
||
|
|
||
|
//
|
||
|
// defs for fValCheckbox and fDefCheckbox fields
|
||
|
#define FC_SCRSVR 0
|
||
|
#define FC_SOUND 1
|
||
|
#define FC_PTRS 2
|
||
|
#define FC_WALL 3
|
||
|
#define FC_ICONS 4
|
||
|
//#define FC_ICONSIZE 5
|
||
|
#define FC_COLORS 5
|
||
|
#define FC_FONTS 6
|
||
|
#define FC_BORDERS 7
|
||
|
#define FC_SCHEDULE 8
|
||
|
|
||
|
#define FC_NULL 9 // for fDefCheckbox with no def str
|
||
|
|
||
|
//
|
||
|
// string constant
|
||
|
#define FROST_DEFSTR TEXT("DefaultValue")
|
||
|
// default icon to apply if Theme file doesn't have MyDocs icon setting
|
||
|
#define MYDOC_DEFSTR TEXT("mydocs.dll,0")
|
||
|
|
||
|
//
|
||
|
// macros
|
||
|
|
||
|
#define WaitCursor(); SetCursor(LoadCursor(NULL, IDC_WAIT));
|
||
|
#define NormalCursor(); SetCursor(LoadCursor(NULL, IDC_ARROW));
|
||
|
|
||
|
|
||
|
/////////////////////////////
|
||
|
//
|
||
|
// Debugging utility macro
|
||
|
//
|
||
|
/////////////////////////////
|
||
|
|
||
|
// Very simple assertion tool
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
__inline void ods(LPTSTR sz)
|
||
|
{
|
||
|
OutputDebugString(sz);
|
||
|
if (*sz && sz[lstrlen(sz)-1] == TEXT('\n'))
|
||
|
OutputDebugString(TEXT("\r"));
|
||
|
}
|
||
|
#define Assert(p,s); if(!(p)) { ods(s); };
|
||
|
#else
|
||
|
#define Assert(p,s);
|
||
|
#endif
|
||
|
|
||
|
|
||
|
//----------------------------------
|
||
|
// G L O B A L V A R I A B L E S
|
||
|
//----------------------------------
|
||
|
|
||
|
//HWND hWndApp; // main application window handle
|
||
|
//HINSTANCE hInstApp; // application instance handle
|
||
|
HICON hIconFrost; // application icon, has to be painted by hand
|
||
|
|
||
|
BOOL bNoMem; // dialog init flag for out of mem
|
||
|
BOOL g_bGradient; // Enuf colors for gradient captions?
|
||
|
|
||
|
BOOL bLowColorProblem; // potential prob w/ theme colors > system
|
||
|
BOOL bNeverCheckBPP; // from BPP Choice dlg; remember per session
|
||
|
int fLowBPPFilter; // flag saying how to filter apply when bLowColorProblem is true
|
||
|
|
||
|
RECT rView; // preview area of dlg
|
||
|
RECT rFakeWin; // fake sample window within preview area
|
||
|
RECT rPreviewIcons; // bounding rect for icon samples in preview area
|
||
|
int iThemeCount; // num of items in theme DDL, incl Cur and Other...
|
||
|
int iCurTheme; // 0-based index of cur theme in list
|
||
|
|
||
|
extern TCHAR *pRegColors[]; // have to be def'd in REGUTILS.C for sizing
|
||
|
extern int iSysColorIndices[];
|
||
|
extern BOOL gfCoInitDone; // track state of OLE CoInitialize()
|
||
|
|
||
|
|
||
|
// strings
|
||
|
TCHAR szAppName[MAX_STRLEN+1]; // application name
|
||
|
TCHAR szMsg[MAX_MSGLEN+1]; // scratch buffer
|
||
|
TCHAR szCurSettings[MAX_STRLEN+1];// "Current Windows settings" for DDLbox
|
||
|
TCHAR szPrevSettings[MAX_STRLEN+1];// "Previous Windows settings" for DDLbox
|
||
|
TCHAR szPrevSettingsFilename[MAX_STRLEN+1]; // theme file w/prev settings, no path
|
||
|
TCHAR szOther[MAX_STRLEN+1]; // "Other..." for DDLbox
|
||
|
TCHAR szNewFile[MAX_STRLEN+1]; // suggested new filename on save theme
|
||
|
TCHAR szExt[MAX_STRLEN+1]; // THM file extension for theme files
|
||
|
TCHAR szFileTypeDesc[MAX_STRLEN+1]; // for save/open file type description
|
||
|
TCHAR szPreviewTitle[MAX_STRLEN+1]; // Preview of "Foo" title at bottom of dlg
|
||
|
|
||
|
TCHAR szSaveTitle[MAX_STRLEN+1]; // title for saveas dlg
|
||
|
TCHAR szOpenTitle[MAX_STRLEN+1]; // title for open dlg
|
||
|
|
||
|
TCHAR szHelpFile[MAX_PATH]; // Help file name; no path nec.; Plus!95
|
||
|
TCHAR szHelpFile98[MAX_PATH]; // Help file name for Plus! 98 new topics
|
||
|
|
||
|
TCHAR szThemeDir[MAX_PATHLEN+1]; // dir of most theme files
|
||
|
TCHAR szWinDir[MAX_PATHLEN+1]; // Windows directory
|
||
|
TCHAR szCurDir[MAX_PATHLEN+1]; // last dir opened a theme file from
|
||
|
TCHAR szCurThemeFile[MAX_PATHLEN+1]; // path + filename of cur theme file
|
||
|
TCHAR szCurThemeName[MAX_PATHLEN+1]; // just name, no path and no extension
|
||
|
|
||
|
#define MAX_VALUELEN 1024 // extra meaty length for safety
|
||
|
extern TCHAR pValue[]; // multi-use buffer: char, hex string, etc.
|
||
|
|
||
|
//
|
||
|
// Checkbox states, ids and values
|
||
|
// important that this is coordinated with FC_* in keys.h !!!!
|
||
|
|
||
|
#define MAX_FCHECKS 9 // don't need one for NULL case
|
||
|
|
||
|
BOOL bCBStates[MAX_FCHECKS]; // main window checkbox states
|
||
|
|
||
|
// WebView names number must be consistent with szWVNames[] below
|
||
|
#define MAX_WVNAMES 3 // number of WebView artwork files
|
||
|
|
||
|
// if in root file
|
||
|
#ifdef ROOTFILE
|
||
|
//
|
||
|
|
||
|
// Consistency Alert! the number of elements here should match MAX_FCHECKS above
|
||
|
int iCBIDs[] = {CB_SCRSVR,
|
||
|
CB_SOUND,
|
||
|
CB_PTRS,
|
||
|
CB_WALL, // checkbox IDs
|
||
|
CB_ICONS,
|
||
|
CB_COLORS,
|
||
|
CB_FONTS,
|
||
|
CB_BORDERS,
|
||
|
CB_SCHEDULE };
|
||
|
// CB_ICONS, CB_ICONSIZE, CB_COLORS, CB_FONTS, CB_BORDERS };
|
||
|
TCHAR * szCBNames[] = { TEXT("Screen saver"),
|
||
|
TEXT("Sound events"),
|
||
|
TEXT("Mouse pointers"),
|
||
|
TEXT("Desktop wallpaper"),
|
||
|
TEXT("Icons"),
|
||
|
// TEXT("Icon size and spacing"),
|
||
|
TEXT("Colors"),
|
||
|
TEXT("Font names and styles"),
|
||
|
TEXT("Font and window sizes"),
|
||
|
TEXT("Rotate theme monthly")
|
||
|
};
|
||
|
|
||
|
TCHAR szNULL[] = TEXT("");
|
||
|
|
||
|
TCHAR szColorApp[] = TEXT("Control Panel\\Colors");
|
||
|
|
||
|
TCHAR szClassName[] = TEXT("DesktopThemes");
|
||
|
|
||
|
// Names of the WebView artwork files -- found in \windir\web
|
||
|
//
|
||
|
// Consistency alert -- number of items must match MAX_WVNAMES
|
||
|
// defined above!
|
||
|
|
||
|
TCHAR * szWVNames[] = { TEXT("WVLEFT.BMP"),
|
||
|
TEXT("WVLINE.GIF"),
|
||
|
TEXT("WVLOGO.GIF")
|
||
|
};
|
||
|
|
||
|
|
||
|
#else // else not root file
|
||
|
|
||
|
extern int iCBIDs[];
|
||
|
extern TCHAR * szCBNames[];
|
||
|
extern TCHAR szNULL[];
|
||
|
extern TCHAR szColorApp[];
|
||
|
extern TCHAR szClassName[];
|
||
|
extern TCHAR * szWVNames[];
|
||
|
|
||
|
// end if root file
|
||
|
#endif
|
||
|
|
||
|
|
||
|
//---------------------------
|
||
|
// F A R R O U T I N E S
|
||
|
//---------------------------
|
||
|
|
||
|
// frost.c
|
||
|
INT_PTR FAR PASCAL PreviewDlgProc(HWND, UINT, WPARAM, LPARAM);
|
||
|
void FAR EnableThemeButtons();
|
||
|
#ifdef USECALLBACKS
|
||
|
UINT_PTR FAR PASCAL FileOpenHookProc(HWND, UINT, WPARAM, LPARAM);
|
||
|
#endif
|
||
|
|
||
|
// init.c
|
||
|
BOOL FAR InitFrost(HINSTANCE, HINSTANCE, LPTSTR, int);
|
||
|
void FAR SaveStates();
|
||
|
void FAR CloseFrost();
|
||
|
|
||
|
#ifdef FOO
|
||
|
// savedlg.c
|
||
|
INT_PTR FAR PASCAL SaveAsDlgProc(HWND, UINT, WPARAM, LPARAM);
|
||
|
#endif
|
||
|
|
||
|
// etcdlg.c
|
||
|
INT_PTR FAR DoEtcDlgs(HWND);
|
||
|
|
||
|
// regutils.c
|
||
|
void GetRegString(HKEY hkey, LPCTSTR szKey, LPCTSTR szValue, LPCTSTR szDefault, LPTSTR szBuffer, UINT cbBuffer);
|
||
|
int GetRegInt(HKEY hkey, LPCTSTR szKey, LPCTSTR szValue, int def);
|
||
|
|
||
|
BOOL FAR GatherThemeToFile(LPTSTR);
|
||
|
BOOL FAR ApplyThemeFile(LPTSTR);
|
||
|
VOID FAR InstantiatePath(LPTSTR, int);
|
||
|
int FAR ConfirmFile(LPTSTR, BOOL);
|
||
|
COLORREF FAR RGBStringToColor(LPTSTR);
|
||
|
void FAR ColorToRGBString(LPTSTR, COLORREF);
|
||
|
BOOL FAR HandGet(HKEY hKeyRoot, LPTSTR lpszSubKey, LPTSTR lpszValName, LPTSTR lpszRet);
|
||
|
// void FAR SetCheckboxesFromThemeFile(LPTSTR);
|
||
|
// void FAR SetCheckboxesFromRegistry();
|
||
|
BOOL GetWVFilename(LPCTSTR, LPCTSTR, LPTSTR);
|
||
|
|
||
|
// bkgd.c
|
||
|
void FAR PASCAL BuildPreviewBitmap(LPTSTR lpszThemeFile);
|
||
|
void FAR PaintPreview(HWND, HDC, PRECT);
|
||
|
// bkgdutil.c
|
||
|
BOOL FAR PASCAL PreviewInit(void);
|
||
|
void FAR PASCAL PreviewDestroy(void);
|
||
|
HRESULT ExtractPlusColorIcon(LPCTSTR szPath, int nIndex, HICON *phIcon, UINT uSizeLarge, UINT uSizeSmall);
|
||
|
|
||
|
|
||
|
// fakewin.c
|
||
|
BOOL FAR PASCAL FakewinInit(void);
|
||
|
void FAR PASCAL FakewinDestroy(void);
|
||
|
void FAR FakewinSetTheme(LPTSTR);
|
||
|
void FAR PASCAL FakewinDraw(HDC);
|
||
|
|
||
|
// icons.c
|
||
|
BOOL FAR PASCAL IconsPreviewInit(void);
|
||
|
void FAR PASCAL IconsPreviewDestroy(void);
|
||
|
void FAR PASCAL IconsPreviewDraw(HDC, LPTSTR);
|
||
|
|
||
|
// utils.c
|
||
|
void FAR InitNoMem(HANDLE);
|
||
|
void FAR NoMemMsg(int);
|
||
|
void FAR TruncateExt(LPCTSTR);
|
||
|
LPTSTR FAR FileFromPath(LPCTSTR);
|
||
|
LPTSTR FAR FindChar(LPTSTR, TCHAR);
|
||
|
VOID FAR litoa(int, LPSTR);
|
||
|
int FAR latoi( LPSTR );
|
||
|
BOOL FAR FilenameToShort(LPTSTR lpszInput, LPTSTR lpszShort);
|
||
|
BOOL FAR FilenameToLong(LPTSTR lpszInput, LPTSTR lpszLong);
|
||
|
BOOL FAR IsValidThemeFile(LPTSTR);
|
||
|
|
||
|
BOOL FAR CheckSpace (HWND hWnd, BOOL fComplain); // Defined in Regutils.c
|
||
|
|
||
|
// nc.c
|
||
|
VOID FAR TransmitFontCharacteristics(PLOGFONT, PLOGFONT, int);
|
||
|
#define TFC_STYLE 1
|
||
|
#define TFC_SIZE 2
|
||
|
|
||
|
// cb.c
|
||
|
void FAR InitCheckboxes();
|
||
|
void FAR SaveCheckboxes();
|
||
|
void FAR RestoreCheckboxes();
|
||
|
BOOL FAR IsAnyBoxChecked();
|
||
|
|