/*++ Copyright (c) 1991-1997, Microsoft Corporation All rights reserved. Module Name: charmap.h Abstract: This module contains the header information for the Charmap utility. Revision History: --*/ // // Include Files. // #include "cmdlg.h" // // Constant Declarations. // #define BTOC(bytes) ((bytes) / sizeof(TCHAR)) #define CTOB(cch) ((cch) * sizeof(TCHAR)) #define cchFullMap (256) #define CCH_KEYNAME 50 // number of chars in keyname #define LF_SUBSETSIZE 128 // // Typedef Declarations. // #ifdef UNICODE typedef unsigned short UTCHAR; #else typedef unsigned char UTCHAR; #endif #define UCHAR unsigned char typedef struct tagSYCM { INT dxpBox; INT dypBox; INT dxpCM; INT dypCM; INT xpCh; INT ypCh; INT dxpMag; INT dypMag; INT xpMagCurr; INT ypMagCurr; INT ypDest; INT xpCM; INT ypCM; BOOL fHasFocus; BOOL fFocusState; BOOL fMouseDn; BOOL fCursorOff; BOOL fAnsiFont; UTCHAR chCurr; HFONT hFontMag; HFONT hFont; HDC hdcMag; HBITMAP hbmMag; INT rgdxp[256]; } SYCM, *PSYCM; typedef struct tagITEMDATA { SHORT FontType; BYTE CharSet; BYTE PitchAndFamily; } ITEMDATA; typedef struct tagUSUBSET { INT BeginRange; INT EndRange; INT StringResId; TCHAR Name[LF_SUBSETSIZE]; } USUBSET; // // Function Declarations. // BOOL InitApplication(HANDLE); BOOL InitInstance(HANDLE, INT); INT_PTR APIENTRY CharMapDlgProc(HWND, UINT, WPARAM, LPARAM); LRESULT APIENTRY CharGridWndProc(HWND, UINT, WPARAM, LPARAM); INT ChFromSymLParam(PSYCM, LONG); VOID DrawSymChOutlineHwnd(PSYCM, HWND, UTCHAR, BOOL, BOOL); VOID RecalcCharMap(HWND, PSYCM, INT, BOOL); VOID DrawSymbolMap(PSYCM, HDC); VOID DrawSymbolGrid(PSYCM, HDC); VOID DrawSymbolChars(PSYCM, HDC); VOID DrawSymChOutline(PSYCM, HDC, UTCHAR, BOOL, BOOL); VOID MoveSymbolSel(PSYCM, UTCHAR); VOID RestoreSymMag(PSYCM); INT APIENTRY FontLoadProc(LPLOGFONT, NEWTEXTMETRICEX*, DWORD, LPARAM); HANDLE GetEditText(HWND); VOID CopyString(HWND); VOID SendRTFToClip(HWND, LPTSTR); INT PointsToHeight(INT); VOID UpdateKeystrokeText(HDC hdc, BOOL fANSI, UTCHAR chNew, BOOL fRedraw); VOID PaintStatusLine(HDC, BOOL, BOOL); BOOL UpdateHelpText(LPMSG, HWND); INT KeyboardVKeyFromChar(UTCHAR); BOOL DrawFamilyComboItem(LPDRAWITEMSTRUCT); HBITMAP LoadBitmaps(INT); VOID DoHelp(HWND, BOOL); VOID SaveCurrentFont(HWND); INT SelectInitialFont(HWND); VOID ExitMagnify(HWND, PSYCM); INT SelectInitialSubset(HWND); VOID SaveCurrentSubset(HWND); BOOL CALLBACK SubSetDlgProc(HWND, UINT, WPARAM, LPARAM); VOID UpdateSymbolSelection(HWND, INT, INT); VOID UpdateSymbolRange(HWND hwnd, INT FirstChar, INT LastChar); VOID SubSetChanged(HWND hwnd, INT iSubSet, INT ichFirst, INT ichLast); VOID ProcessScrollMsg(HWND hwnd, int nCode, int nPos); INT ScrollMapPage(HWND hwndDlg, BOOL fUp, BOOL fRePaint); BOOL ScrollMap(HWND hwndDlg, INT cchScroll, BOOL fRePaint); void SetEditCtlFont(HWND hwndDlg, int idCtl, HFONT hfont);