Files
Work/mdiwin/VIEW.HPP
2024-08-07 09:16:27 -04:00

115 lines
3.3 KiB
C++
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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