231 lines
5 KiB
C
231 lines
5 KiB
C
|
/*++
|
||
|
|
||
|
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
|
||
|
|
||
|
|