windows-nt/Source/XPSP1/NT/shell/osshell/accesory/eudcedit/eudcedit.h
2020-09-26 16:20:57 +08:00

190 lines
6.1 KiB
C++

/**************************************************/
/* */
/* */
/* EUDC EDITOR (MAIN HEADER) */
/* */
/* */
/* Copyright (c) 1997-1999 Microsoft Corporation. */
/**************************************************/
#include "resource.h"
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include <htmlhelp.h>
/* EUDC editor defined windows message */
#define WM_IMPORTGAGE (WM_USER) // start import
#define WM_IMPORTSTOP (WM_USER + 1) // stop import
#define WM_DUPLICATE (WM_USER + 2) // duplicate bitmap
#define WM_VIEWUPDATE (WM_USER + 3) // view update
/* Country ID */
#define EUDC_JPN 0x411 // Japanese
#define EUDC_CHT 0x404 // Chinese (Taipei)
#define EUDC_CHS 0x804 // Chinese (General)
#define EUDC_HKG 0xc04 // Chinese (Hong Kong)
#define EUDC_SIN 0x1004 // Chinese (Singapore)
#define EUDC_KRW 0x412 // Korea (Wansung)
#define EUDC_HEBREW 0x40d
#define EUDC_HINDI 0x439
#define EUDC_TAMIL 0x449
/*
#ifdef BUILD_ON_WINNT
#define EUDC_UNICODE 0xFFFF // Unicode
#endif
*/
/* Smoothing level */
#define SMOOTHLVL 1 // show outline
// regist truetype
/* Code string size */
#define MAX_CODE 5 // size of code string
/* Tool */
#define NOTSELECT 0 // "Not Selected"
#define PEN 1 // "Pen"
#define SLOPE 2 // "Straight Line"
#define RECTBAND 3 // "Hollow Ractangle"
#define RECTFILL 4 // "Filled Rectangle"
#define CIRCLE 5 // "Hollow Circle"
#define CIRCLEFILL 6 // "Filled Circle"
#define RECTCLIP 7 // "Rectangular Selection"
#define BRUSH 8 // "Brush"
#define FREEFORM 9 // "Freeform Selection"
#define ERASER 10 // "Eraser"
/* Cursor */
#define VERTICAL 0 // vertical arrow for resize
#define RIGHTSLOPE 1 // right arrow for resize
#define LEFTSLOPE 2 // left arrow for resize
#define HORIZONTAL 3 // horizontal arrow for resize
#define ALLDIRECT 4 // all direct arrow for resize
#define NUMRESIZE 5 // the number of resize cursor
#define NUMTOOL 11 // the number of tool cursor
/* Color */
#define COLOR_WHITE RGB(255,255,255) // white
#define COLOR_BLACK RGB( 0, 0, 0) // black
#define COLOR_LGRAY RGB(192,192,192) // light Gray
#define COLOR_DGRAY RGB(128,128,128) // dark Gray
#define COLOR_YELLO RGB(255,255, 0) // yellow
#define COLOR_BLUE RGB( 0, 0,255) // blue
#define COLOR_RED RGB(255, 0, 0) // red
/* Bitmap size */
#define MAX_BITMAPSIZE 256 // maximun of bitmap size
#define MIN_BITMAPSIZE 16 // minimun of bitmap size
#define DEF_BITMAPSIZE 64 // default of bitmap size
/* Selected font, file and code structure */
typedef struct _tagSELECTEUDC{
TCHAR m_Font[LF_FACESIZE]; // selected EUDC typeFace
TCHAR m_File[MAX_PATH]; // selected EUDC fileName
TCHAR m_FileTitle[MAX_PATH]; // selected EUDC fileTitle
TCHAR m_Code[MAX_CODE]; // selected EUDC code
BOOL m_FontTypeFlg; // flag whether TTF or not
}SELECTEUDC;
/* EUDC coderange and languageID structure */
typedef struct _tagCOUNTRYINFO{
INT nRange; // the number of code range
USHORT sRange[MAX_LEADBYTES]; // start of code range
USHORT eRange[MAX_LEADBYTES]; // end of code range
INT nLeadByte; // the number of lead byte
UCHAR sLeadByte[MAX_LEADBYTES]; // start of lead byte
UCHAR eLeadByte[MAX_LEADBYTES]; // end of lead byte
INT nTralByte; // the number of trail byte
UCHAR sTralByte[MAX_LEADBYTES]; // start of trail byte
UCHAR eTralByte[MAX_LEADBYTES]; // end of trail byte
TCHAR szForceFont[LF_FACESIZE]; // default font facename;
#ifdef BUILD_ON_WINNT
BOOL bUnicodeMode; // user select unicode mode
BOOL bOnlyUnicode; // We only have unicode
/* For CHS to keep the original trail byte range in order to dynamically
* calculate trailbyte range with EUDC selection range.
*/
INT nOrigTralByte;
UCHAR sOrigTralByte[MAX_LEADBYTES]; // start of trail byte
UCHAR eOrigTralByte[MAX_LEADBYTES]; // end of trail byte
#endif // BUILD_ON_WINNT
INT LangID; // language ID
INT CharacterSet; // Character Set
INT CurrentRange; // selected currently range
}COUNTRYINFO;
/* DBCS coderange except EUDC */
/*typedef struct _tagDBCSINFO{
INT nLeadByte; // the number of lead byte
UCHAR sLeadByte[MAX_LEADBYTES]; // start of lead byte
UCHAR eLeadByte[MAX_LEADBYTES]; // end of lead byte
INT nTralByte; // the number of trail byte
UCHAR sTralByte[MAX_LEADBYTES]; // start of trail byte
UCHAR eTralByte[MAX_LEADBYTES]; // end of trail byte
}DBCSINFO;
*/
/* Global parameter */
extern HCURSOR ToolCursor[NUMTOOL]; // tool cursor
extern HCURSOR ArrowCursor[NUMRESIZE]; // resize cursor
extern INT CAPTION_HEIGHT; // height of caption
extern INT BITMAP_HEIGHT; // height of bitmap
extern INT BITMAP_WIDTH; // width of bitmap
extern DWORD COLOR_GRID; // grid color
extern DWORD COLOR_CURVE; // outline color
extern DWORD COLOR_FITTING; // bitmap color in show outline
extern DWORD COLOR_FACE; // Win95 3D Face System Color
extern DWORD COLOR_SHADOW; // Win95 3D Shadow Color
extern DWORD COLOR_HLIGHT; // Win95 3D HighLight
extern DWORD COLOR_WIN; // Win95 Window Color
extern TCHAR HelpPath[MAX_PATH]; // Help file path
extern TCHAR ChmHelpPath[MAX_PATH]; // Help file path
extern TCHAR FontPath[MAX_PATH]; // Font file path
extern CString NotMemTtl;
extern CString NotMemMsg;
extern SELECTEUDC SelectEUDC;
extern COUNTRYINFO CountryInfo;
class CEudcApp : public CWinApp
{
public:
CEudcApp();
virtual BOOL InitInstance();
virtual BOOL ExitInstance();
virtual BOOL OnIdle(LONG lCount);
private:
BOOL CheckPrevInstance();
void DisableCUAS();
BOOL GetProfileText( LPRECT MainWndRect, UINT *MaxWndFlag);
BOOL GetCountryInfo();
BOOL GetCursorRes();
BOOL GetFilePath();
public:
//{{AFX_MSG(CEudcApp)
afx_msg void OnAppAbout();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifdef BUILD_ON_WINNT
//
// Hard codeded font face name
//
//
// Public API prototype definition.
// (should be in wingdi.h)
//
extern "C" BOOL APIENTRY EnableEUDC(BOOL bEnable);
#endif // BUILD_ON_WINNT