/*++ Copyright (c) 1992 Microsoft Corporation Module Name: console.h Abstract: This module contains the definitions for the console applet Author: Jerry Shea (jerrysh) Feb-3-1992 Revision History: --*/ #include "font.h" #include "doshelp.h" // // Icon ID // #define IDI_CONSOLE 1 // // String table constants // #define IDS_NAME 1 #define IDS_INFO 2 #define IDS_TITLE 3 #define IDS_RASTERFONT 4 #define IDS_FONTSIZE 5 #define IDS_SELECTEDFONT 6 #define IDS_SAVE 7 #define IDS_LINKERRCAP 8 #define IDS_LINKERROR 9 #define IDS_WARNING 10 // // Global Variables // extern HINSTANCE ghInstance; extern PCONSOLE_STATE_INFO gpStateInfo; extern PFONT_INFO FontInfo; extern ULONG NumberOfFonts; extern ULONG CurrentFontIndex; extern ULONG DefaultFontIndex; extern TCHAR DefaultFaceName[]; extern COORD DefaultFontSize; extern BYTE DefaultFontFamily; extern TCHAR szPreviewText[]; extern PFACENODE gpFaceNames; extern BOOL gbEnumerateFaces; extern LONG gcxScreen; extern LONG gcyScreen; #if defined(FE_SB) extern UINT OEMCP; extern BOOL gfFESystem; extern BOOL fChangeCodePage; NTSTATUS MakeAltRasterFont( UINT CodePage, COORD *AltFontSize, BYTE *AltFontFamily, ULONG *AltFontIndex, LPTSTR AltFaceName ); NTSTATUS InitializeDbcsMisc( VOID ); BYTE CodePageToCharSet( UINT CodePage ); LPTTFONTLIST SearchTTFont( LPTSTR ptszFace, BOOL fCodePage, UINT CodePage ); BOOL IsAvailableTTFont( LPTSTR ptszFace ); BOOL IsAvailableTTFontCP( LPWSTR pwszFace, UINT CodePage ); BOOL IsDisableBoldTTFont( LPTSTR ptszFace ); LPTSTR GetAltFaceName( LPTSTR ptszFace ); NTSTATUS DestroyDbcsMisc( VOID ); int LanguageListCreate( HWND hDlg, UINT CodePage ); int LanguageDisplay( HWND hDlg, UINT CodePage ) ; // // registry.c // NTSTATUS MyRegOpenKey( IN HANDLE hKey, IN LPWSTR lpSubKey, OUT PHANDLE phResult ); NTSTATUS MyRegEnumValue( IN HANDLE hKey, IN DWORD dwIndex, OUT DWORD dwValueLength, OUT LPWSTR lpValueName, OUT DWORD dwDataLength, OUT LPBYTE lpData ); #endif // // Function prototypes // INT_PTR ConsolePropertySheet(HWND hWnd); BOOL RegisterClasses(HANDLE hModule); void UnregisterClasses(HANDLE hModule); INT_PTR FontDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam); PCONSOLE_STATE_INFO InitRegistryValues(VOID); DWORD GetRegistryValues(PCONSOLE_STATE_INFO StateInfo); VOID SetRegistryValues(PCONSOLE_STATE_INFO StateInfo, DWORD dwPage); PCONSOLE_STATE_INFO InitStateValues(HANDLE hMap); PCONSOLE_STATE_INFO ReadStateValues(HANDLE hMap); BOOL WriteStateValues(PCONSOLE_STATE_INFO pStateInfo); LRESULT ColorControlProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam); LRESULT FontPreviewWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam); LRESULT PreviewWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam); INT_PTR CommonDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam); VOID EndDlgPage(HWND hDlg); BOOL UpdateStateInfo(HWND hDlg, UINT Item, int Value); BOOL WereWeStartedFromALnk(); BOOL SetLinkValues( PCONSOLE_STATE_INFO StateInfo ); // // Macros // #define NELEM(array) (sizeof(array)/sizeof(array[0])) #define AttrToRGB(Attr) (gpStateInfo->ColorTable[(Attr) & 0x0F]) #define ScreenTextColor(pStateInfo) \ (AttrToRGB(LOBYTE(pStateInfo->ScreenAttributes) & 0x0F)) #define ScreenBkColor(pStateInfo) \ (AttrToRGB(LOBYTE(pStateInfo->ScreenAttributes >> 4))) #define PopupTextColor(pStateInfo) \ (AttrToRGB(LOBYTE(pStateInfo->PopupAttributes) & 0x0F)) #define PopupBkColor(pStateInfo) \ (AttrToRGB(LOBYTE(pStateInfo->PopupAttributes >> 4))) #ifdef DEBUG_PRINT #define _DBGFONTS 0x00000001 #define _DBGFONTS2 0x00000002 #define _DBGCHARS 0x00000004 #define _DBGOUTPUT 0x00000008 #define _DBGALL 0xFFFFFFFF extern ULONG gDebugFlag; #define DBGFONTS(_params_) {if (gDebugFlag & _DBGFONTS) DbgPrint _params_ ; } #define DBGFONTS2(_params_) {if (gDebugFlag & _DBGFONTS2)DbgPrint _params_ ; } #define DBGCHARS(_params_) {if (gDebugFlag & _DBGCHARS) DbgPrint _params_ ; } #define DBGOUTPUT(_params_) {if (gDebugFlag & _DBGOUTPUT)DbgPrint _params_ ; } #define DBGPRINT(_params_) DbgPrint _params_ #else #define DBGFONTS(_params_) #define DBGFONTS2(_params_) #define DBGCHARS(_params_) #define DBGOUTPUT(_params_) #define DBGPRINT(_params_) #endif #ifdef FE_SB // Macro definitions that handle codepages // #define CP_US (UINT)437 #define CP_JPN (UINT)932 #define CP_WANSUNG (UINT)949 #define CP_TC (UINT)950 #define CP_SC (UINT)936 #define IsBilingualCP(cp) ((cp)==CP_JPN || (cp)==CP_WANSUNG) #define IsFarEastCP(cp) ((cp)==CP_JPN || (cp)==CP_WANSUNG || (cp)==CP_TC || (cp)==CP_SC) #endif