--- mstools/samples/mfedit/mfedit.h 2018/08/09 18:20:54 1.1 +++ mstools/samples/mfedit/mfedit.h 2018/08/09 18:24:08 1.1.1.3 @@ -23,6 +23,9 @@ #define MAX_POINTS 256 #define MAX_POINTS_MF 3 #define MAX_POINTS_BMP 3 +#define MAX_FRAME 800 +#define MAX_FILE 800 + // // Menu ID's // @@ -49,11 +52,17 @@ #define MM_PEN 7021 #define MM_BRUSH 7022 #define MM_FONT 7023 +#define MM_LEABOUT 7024 +#define MM_FIT2WND 7025 +#define MM_IMPORT_3X 7026 +#define MM_EXPORT_3X 7027 +#define MM_TTOUTLN_STROKEFILL 7028 +#define MM_TTOUTLN_POLYDRAW 7029 #define SIZEOFCAPTIONTEXT 20 #define ACCEL_ID 100 -#define APPICON 100 +#define APP_ICON 100 // // Control Panel ID's @@ -79,6 +88,7 @@ #define DID_FF 1015 #define DID_CLEAR 1016 #define DID_COUNTER 1017 +#define DID_TMP 1018 // // Control Panel's Owner draw bitmaps @@ -245,6 +255,39 @@ #define GET_WM_CTLCOLOR_HWND(wp, lp, msg) (HWND)(lp) #define GET_WM_CTLCOLOR_TYPE(wp, lp, msg) (WORD)(msg - WM_CTLCOLORMSGBOX) +#define META32_SIGNATURE 0x464D4520 // ' EMF' +#define ALDUS_ID 0x9AC6CDD7 + +typedef struct + { + DWORD key; + WORD hmf; + SMALL_RECT bbox; + WORD inch; + DWORD reserved; + WORD checksum; + } APMFILEHEADER; +typedef APMFILEHEADER * PAPMFILEHEADER; +#define APMSIZE 22 + + +#ifndef RC_INVOKED +#pragma pack(2) +typedef struct tagMETA16HEADER +{ + WORD mtType; + WORD mtHeaderSize; + WORD mtVersion; + DWORD mtSize; + WORD mtNoObjects; + DWORD mtMaxRecord; + WORD mtNoParameters; +} META16HEADER, LPMETA16HEADER; +#pragma pack() + +#endif // RC_INVOKED + + typedef struct _playinfo { int iRecord; BOOL bPlayContinuous; @@ -360,6 +403,13 @@ METALOOKUP rgMetaName[] = { "EXTCREATEPEN ", MR_EXTCREATEPEN }, }; + +typedef struct _PRTDATA { + BOOL bFit2Wnd; + HENHMETAFILE hMetaf; +} PRTDATA, *PPRTDATA; + + HANDLE ghModule; HWND ghwndMain = NULL; HWND ghwndClient = NULL; @@ -367,6 +417,8 @@ HWND ghwndDrawSurf = NULL; HWND ghwndCtrlPanel = NULL; HWND ghwndTools = NULL; HWND ghTextWnd = NULL; +HPALETTE ghPal = NULL; +HPALETTE ghHT = NULL; LONG glcyStatus; BOOL gbRecording = FALSE; @@ -390,7 +442,9 @@ HMENU hMenu, hMenuWindow; HMENU hChildMenu, hChildMenuWindow; HDC ghDCMem; HDC ghDCMetaf = (HDC) NULL; -HANDLE ghMetaf = NULL; +HENHMETAFILE ghMetaf = NULL; +HMETAFILE ghmf=NULL; + HBITMAP ghBmp = NULL, ghBmpMask = NULL; #if 0 // STRICT doesn't like this @@ -405,3 +459,30 @@ HBRUSH ghbrCur; HPEN ghpnCur; HBRUSH ghbrAppBkgd; HPEN ghpnWide; + +HWND ghwndNext = NULL; +BOOL gbFit2Wnd = TRUE; +BOOL gbImport3X = FALSE; +BOOL gbExport3X = FALSE; +BOOL gbSFOutln = FALSE; +BOOL gbPDOutln = FALSE; +BOOL gbTT = FALSE; + +BOOL gbUseDIB = FALSE; + +typedef struct _FileInfo{ + HANDLE hFile; + HANDLE hMapFile; + LPVOID lpvMapView; +} FILEINFO, *PFILEINFO; + +typedef struct _DIBDATA{ + ULONG ulFiles; + ULONG ulFrames; + FILEINFO rgFileInfo[MAX_FILE]; + PBYTE rgpjFrame[MAX_FRAME]; + PBITMAPINFO rgpbmi[MAX_FILE]; + BOOL rgbCoreHdr[MAX_FILE]; +} DIBDATA, *PDIBDATA; + +DIBDATA gDib;