#ifndef _MIXER_MAINWINDOW_HPP_ #define _MIXER_MAINWINDOW_HPP_ #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif #ifndef _STATBAR_STATBAR_HPP_ #include #endif class ResBitmap; class DIBitmap; class MixerScope; class ChannelControlManager; class MainWindow : public Window { public: MainWindow(void); virtual ~MainWindow(); static String className(void); private: enum{InitialWidth=640,InitialHeight=480}; enum{xBorder=5,Scope1y=5}; enum{Scope1ID=101}; void insertHandlers(void); void removeHandlers(void); void registerClass(void); void handleFileOpen(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 createHandler(CallbackData &someCallbackData); CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData); CallbackData::ReturnType eraseBackgroundHandler(CallbackData &someCallbackData); CallbackData::ReturnType userHandler(CallbackData &someCallbackData); Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mKeyDownHandler; Callback mSizeHandler; Callback mCreateHandler; Callback mEraseBackgroundHandler; Callback mUserHandler; SmartPointer mBitmapBkGnd; SmartPointer mDIBitmapBkGnd; SmartPointer mPureDevice; SmartPointer mMixerScope; SmartPointer mChannelControlManager; SmartPointer mStatusBar; WORD mxBorder; static char szClassName[]; static char szMenuName[]; }; inline String MainWindow::className(void) { return String(szClassName); } #endif