#ifndef _VIDCAP_MAINWINDOW_HPP_ #define _VIDCAP_MAINWINDOW_HPP_ #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _VIDCAP_BMPCAP_HPP_ #include #endif #ifndef _COMMON_AVICAP_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_PUREMENU_HPP_ #include #endif #ifndef _STATBAR_STATUSBAREX_HPP_ #include #endif class MainWindow : public Window { public: MainWindow(HINSTANCE hInstance); virtual ~MainWindow(); static String className(void); private: enum{StatusBarID=101}; enum{DefaultWidth=640,DefaultHeight=480}; void registerClass(void)const; void insertHandlers(void); void removeHandlers(void); void createPropertySheet(void); void checkDriverOptions(void); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData); CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData); CallbackData::ReturnType timerHandler(CallbackData &someCallbackData); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); void handleFileOpen(void); void handleFileClose(void); void handlePreview(void); void handleSaveFrames(void); void handleSettings(void); Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mKeyDownHandler; Callback mSizeHandler; Callback mTimerHandler; Callback mCreateHandler; static char szClassName[]; static char szMenuName[]; HINSTANCE mhInstance; SmartPointer mBitmapCapture; SmartPointer mMainMenu; SmartPointer mStatusBar; }; inline String MainWindow::className(void) { return String(szClassName); } #endif