115 lines
3.3 KiB
C++
115 lines
3.3 KiB
C++
#ifndef _VIEW_HPP_
|
||
#define _VIEW_HPP_
|
||
#include <mdiwin/main.hpp>
|
||
#include <mdiwin/block.hpp>
|
||
#include <mdiwin/capture.hpp>
|
||
#include <mdiwin/mdiwin.hpp>
|
||
#include <mdiwin/gif.hpp>
|
||
#include <mdiwin/process.hpp>
|
||
#include <mdiwin/spacial.hpp>
|
||
#include <mdiwin/pwarp.hpp>
|
||
#include <mdiwin/convex.hpp>
|
||
#include <mdiwin/average.hpp>
|
||
#include <mdiwin/bitmap.hpp>
|
||
#include <mdiwin/clipbrd.hpp>
|
||
#include <mdiwin/toolbar.hpp>
|
||
#include <mdiwin/mesh.hpp>
|
||
#include <mdiwin/dslvdlg.hpp>
|
||
#include <mdiwin/rgb.hpp>
|
||
#include <mdiwin/schedule.hpp>
|
||
|
||
class ViewWindow : public MDIWindow
|
||
{
|
||
public:
|
||
ViewWindow(void);
|
||
ViewWindow(const ViewWindow &someViewWindow);
|
||
void showWindow(HWND hClientWindow,const char *pathFileName,BWindow *statusBar,HMENU hFrameMenu);
|
||
virtual ~ViewWindow();
|
||
int operator==(const ViewWindow &someViewWindow)const;
|
||
static void Register(HINSTANCE hInstance);
|
||
static char far *className(void);
|
||
WORD isDestroyed(void)const;
|
||
WORD hasMesh(void)const;
|
||
HWND handle(void)const;
|
||
WORD width(void)const;
|
||
WORD height(void)const;
|
||
void showMesh(void)const;
|
||
private:
|
||
typedef long Index;
|
||
enum {MaxFileName=70,MaxGifBitsPerPixel=8,DefaultFrames=3};
|
||
enum {MenuConform=0x0F};
|
||
enum Direction{WarpForward,WarpReverse};
|
||
void Paint(void);
|
||
long WndProc(UINT message,WPARAM wParam,LPARAM lParam);
|
||
void paletteHandler(const UCHAR FAR *paletteData,USHORT numColors);
|
||
void backgroundHandler(USHORT backgroundColor);
|
||
void imageHandler(void);
|
||
void showHandler(USHORT imageWide,USHORT imageDeep,const UCHAR FAR *lpRowData,USHORT yLocation);
|
||
void errorHandler(const CHAR FAR *errorMessage);
|
||
|
||
void handleMeshRequest(WPARAM wParam,LPARAM lParam);
|
||
void handleDestroyEvent(void);
|
||
void handleActivateEvent(WPARAM wParam,LPARAM lParam);
|
||
void handleSystemMenuEvent(WPARAM wParam)const;
|
||
void handleToolbarToggle(void);
|
||
void enableMenu(const char isEnabled)const;
|
||
void modifySystemMenu(void);
|
||
void updateCaption(void)const;
|
||
void createMDIChildWindow(void);
|
||
void createToolBarWindow(void);
|
||
void createPalette(void);
|
||
void decodeMDIImage(void);
|
||
void operator=(Bitmap &someBitmap);
|
||
|
||
void imageProcessing(void);
|
||
void menuClip(void);
|
||
void resizeImage(void);
|
||
void meshWarp(Direction warpDirection=WarpForward);
|
||
void meshWarp(ViewWindow *lpTargetView);
|
||
void warpPerspective(void);
|
||
void warpConvex(void);
|
||
void translateMatrix(void);
|
||
void shearTransform(void);
|
||
void saveBitmap(void);
|
||
void sequentialNames(const String &pathFileName,Block<String> &pathFileNames,int nFrames);
|
||
void createProjectFile(Block<String> &pathFileNames);
|
||
|
||
static char szClassName[];
|
||
static char szMenuName[];
|
||
static HINSTANCE smhInstance;
|
||
|
||
int mCurrentMeshFrames;
|
||
WORD mToolbarVisibility;
|
||
WORD mMaxColors;
|
||
WORD mWidth;
|
||
WORD mHeight;
|
||
char mPathFileName[MaxFileName+1];
|
||
Capture mCapture;
|
||
HWND mhClientWindow;
|
||
HWND mhFrameWindow;
|
||
WORD mIsDestroyed;
|
||
HMENU mhSystemMenu;
|
||
HMENU mhFrameMenu;
|
||
HMENU mhViewMenu;
|
||
HPALETTE mhPalette;
|
||
HGLOBAL mhGlobalInvert;
|
||
HGLOBAL mhGlobal;
|
||
HGLOBAL mhBMPGlobal;
|
||
Clipboard *mlpClipboard;
|
||
BWindow *mpStatusBar;
|
||
Process *mpProcessImage;
|
||
SpacialTransform *mpSpacial;
|
||
PerspectiveWarp *mpPerspectiveWarp;
|
||
Convex *mlpConvexTransform;
|
||
BITMAPINFO FAR *mpBI;
|
||
UHUGE *mhpImageInvert;
|
||
UHUGE *mhpImage;
|
||
ToolBar *mlpToolBar;
|
||
GridMesh *mlpGridMesh;
|
||
Block<RGBStruct> mPaletteData;
|
||
Block<Schedule> mDissolveSchedule;
|
||
};
|
||
#include <mdiwin/view.ipp>
|
||
#endif
|
||
|
||
|