Files
Work/mixer/Mainwnd.hpp
2024-08-07 09:16:27 -04:00

76 lines
2.2 KiB
C++

#ifndef _MIXER_MAINWINDOW_HPP_
#define _MIXER_MAINWINDOW_HPP_
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _COMMON_BLOCK_HPP_
#include <common/block.hpp>
#endif
#ifndef _STATBAR_STATBAR_HPP_
#include <statbar/statbar.hpp>
#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<MainWindow> mPaintHandler;
Callback<MainWindow> mDestroyHandler;
Callback<MainWindow> mCommandHandler;
Callback<MainWindow> mKeyDownHandler;
Callback<MainWindow> mSizeHandler;
Callback<MainWindow> mCreateHandler;
Callback<MainWindow> mEraseBackgroundHandler;
Callback<MainWindow> mUserHandler;
SmartPointer<ResBitmap> mBitmapBkGnd;
SmartPointer<DIBitmap> mDIBitmapBkGnd;
SmartPointer<PureDevice> mPureDevice;
SmartPointer<MixerScope> mMixerScope;
SmartPointer<ChannelControlManager> mChannelControlManager;
SmartPointer<StatusBar> mStatusBar;
WORD mxBorder;
static char szClassName[];
static char szMenuName[];
};
inline
String MainWindow::className(void)
{
return String(szClassName);
}
#endif