#ifndef _MAINHEADER_ #define _MAINHEADER_ #include #include #include #include #include #include #include "..//..//..//include//l_bitmap.h" #define MAXFILENAME _MAX_PATH #define SCROLL_RATIO 10 #define INIT_MENU_POS 0 #define CHILD_MENU_POS 6 #define ID_FIRSTCHILD 50000 #define CS_DBLCLKS 0x0008 #define ORDEREDDITHER 1 #define FASTPAINT 2 #define INDEXEDPAINT 4 #define DITHEREDPAINT 8 #define SCALETOGRAY 16 #define HALFTONEPRINT 32 #define FAVORBLACK 64 #define FIXEDPALETTE 128 #define NETSCAPEPALETTE 256 #define RESAMPLE 512 #define BICUBIC 1024 typedef struct tagMAGGLASSDATA { L_BOOL bStart; L_INT32 nWidth; L_INT32 nHeight; L_INT nZoom; COLORREF clrPen; HCURSOR hMagCursor; COLORREF clrBack; L_BOOL bEllipse; L_INT nBorderSize; L_BOOL b3D; L_UINT32 uPaintFlags; L_UINT uMaskCount; L_UINT32 uMagGlassFlags; L_INT nCrosshair; L_BOOL bIgnoreRgn; L_BOOL bCenter; BITMAPHANDLE UpdateBitmap; MAGGLASSPAINTOPTIONS MagGlassPntOptions; }MAGGLASSDATA; typedef struct tagFLAGS { L_BOOL bCopy; L_BOOL bStartMagGlass; L_BOOL bManualUpdate; L_BOOL bUpdateSourceBitmap; L_BOOL bLeftBtnDown; L_BOOL bBorderType; L_BOOL bCenter; LONG PaintStyle; L_BOOL bUpdateRect; L_BOOL bUpdateEllipse; L_BOOL bUpdateRoundRect; L_BOOL bUpdateFreeHand; L_BOOL bCurRect; L_BOOL bCurEllipse; L_BOOL bCurFile; L_INT nCrossHairStyle; L_BOOL b3DBorder; L_BOOL bResizeBorder; L_BOOL bResizeWidth; L_BOOL bResizeHeight; L_BOOL bWindowLevel; }FLAGSDATA, L_FAR* pFLAGSDATA; typedef struct tagWINDOWDATA1 { HPALETTE hPalette; /* palette handle used by PaintDC */ L_INT cxClient; /* width of client area */ L_INT cyClient; /* height of client area */ L_INT cxHeight; L_INT cxWidth; L_INT nHScrollPos; /* x scroll position */ L_INT nVScrollPos; /* y scroll position */ L_INT nHScrollMax; /* maximum x scroll position */ L_INT nVScrollMax; /* maximum y scroll postion */ L_INT nHScrollStep; /* x scroll step value */ L_INT nVScrollStep; /* y scroll step value */ L_INT nScalar; RECT rcView; L_TCHAR szFilename[MAXFILENAME]; /* open bitmap filename */ FILEINFO FileInfo; /* open bitmap FILEINFO structure */ BITMAPHANDLE Bitmap; /* open BITMAPHANDLE */ FLAGSDATA Flags; MAGGLASSDATA MagGlassData; HWND hWnd; } WINDOWDATA, L_FAR* LPWINDOWDATA ; typedef struct tagCREATEDATA { LPSTR pszTitle; pBITMAPHANDLE pBitmap; HBITMAPLIST hList; L_BOOL fLoop; WINDOWDATA Data; L_BOOL bIsFile; } CREATEDATA, L_FAR* LPCREATEDATA; L_BOOL CALLBACK CloseEnumFunc(HWND hwnd, LPARAM lParam); LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); L_BOOL RegisterAllWindows(L_VOID); L_BOOL InitInstance(L_INT nCmdShow); L_BOOL MainFrame_OnCloseQuery(HWND hwnd); L_BOOL MainFrame_OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct); L_VOID MainFrame_OnCommand(HWND hwnd,L_INT id,HWND hwndCtl,UINT codeNotify); L_VOID MainFrame_OnSetFocus(HWND hwnd,HWND oldhwnd); L_BOOL MainFrame_OnContextMenu(HWND hWnd, HWND hwndCtl, L_INT xPos, L_INT yPos); HWND CreateChildWindow (LPSTR pszTitle); L_VOID OpenFile(HWND hwnd); L_BOOL LoadImage (HWND hWnd); L_BOOL GetOpenFile(HWND hWnd); L_VOID Check_Menu_Items(HMENU hmenu, pFLAGSDATA pFlagsData); L_VOID MainFrame_Paste(HWND hwnd); L_BOOL DisplayContextMenu(HWND hWnd, POINT pt); /* For Palette */ L_BOOL CALLBACK PaletteChangedAll (HWND hwnd, LPARAM lParam); L_VOID MainFrame_OnPaletteChanged(HWND hwnd, HWND hwndPaletteChange); L_BOOL MainFrame_OnQueryNewPalette(HWND hwnd); L_VOID MainFrame_OnPaletteChanging(HWND hWnd, HWND hWndPaletteChange); L_VOID MainFrame_SysColorChange(HWND hwnd); #endif