#ifndef _PROCESS_HPP_ #define _PROCESS_HPP_ #include #include #include #include #include class Process { public: Process(HPALETTE hPalette,UHUGE *hpImage,WORD width,WORD height); ~Process(); WORD showProcess(HWND hParent,char *imageName); void cancelThread(); private: enum {GreatestHighPassMatrixIndex=3}; enum {GreatestAveragingMatrixIndex=3}; enum {MaxImageName=50}; static Process *smCurrInstance; // static int FAR PASCAL _export ProcessDlgProc(HWND hWnd,WORD message,WPARAM wParam,LPARAM lParam); __declspec(dllexport) static int FAR PASCAL ProcessDlgProc(HWND hWnd,WORD message,WPARAM wParam,LPARAM lParam); int ProcessProc(WORD message,WPARAM wParam,LPARAM lParam); HWND GetHandle(void)const; void SetHandle(HWND); void buildMatrices(void); void uncheckControls(void)const; WORD activeControl(void)const; void setMatrix(Block &matrix); void processUserSelection(); Block mLowPassMatrix; Block mAveragingMatrixOne; Block mAveragingMatrixTwo; Block mAveragingMatrixThree; Block mAveragingMatrixFour; Block mHighPassMatrixOne; Block mHighPassMatrixTwo; Block mHighPassMatrixThree; Block mHighPassMatrixFour; Block mAveragingMatrixUse; char mImageName[MaxImageName+1]; WORD mCurrentAveragingMatrix; WORD mCurrentHighPassMatrix; WORD mCurrentSelection; WORD mIsInThread; HPALETTE mhPalette; UHUGE *mhpImage; WORD mWidth; WORD mHeight; WORD mIsConstructed; HWND mhWnd; HWND hParent; }; inline void Process::SetHandle(HWND hWnd) { mhWnd=hWnd; } inline HWND Process::GetHandle(void)const { return mhWnd; } inline void Process::cancelThread(void) { mIsInThread=FALSE; } #endif