Initial
This commit is contained in:
163
dvcap/Mainwnd.hpp
Normal file
163
dvcap/Mainwnd.hpp
Normal file
@@ -0,0 +1,163 @@
|
||||
#ifndef _DVCAP_MAINWINDOW_HPP_
|
||||
#define _DVCAP_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_PUREMENU_HPP_
|
||||
#include <common/puremenu.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_BLOCK_HPP_
|
||||
#include <common/block.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_MMTIMER_HPP_
|
||||
#include <common/mmtimer.hpp>
|
||||
#endif
|
||||
#ifndef _STATBAR_STATUSBAREX_HPP_
|
||||
#include <statbar/statbarx.hpp>
|
||||
#endif
|
||||
#ifndef _DVCAP_DEVICENOTIFICATION_HPP_
|
||||
#include <dvcap/DeviceNotify.hpp>
|
||||
#endif
|
||||
#ifndef _DVCAP_CAPTUREDEVICEGRAPH_HPP_
|
||||
#include <dvcap/CaptureDeviceGraph.hpp>
|
||||
#endif
|
||||
#ifndef _TOOLBAR_TOOLBAR_HPP_
|
||||
#include <toolbar/toolbar.hpp>
|
||||
#endif
|
||||
|
||||
class MainWindow : public Window
|
||||
{
|
||||
public:
|
||||
MainWindow(void);
|
||||
virtual ~MainWindow();
|
||||
static String className(void);
|
||||
private:
|
||||
enum{StatusBarID=200,ToolBarID=201,EditHourID=202,EditMinuteID=203,EditSecondID=204,EditFrameID=205,TCButtonID=206};
|
||||
enum{InitialWidth=650,InitialHeight=480,DefaultVideoWidth=360,DefaultVideoHeight=240,WidthEdge=5,HeightEdge=95};
|
||||
enum{TimerResolution=55}; // 55 ms
|
||||
enum{Part1,Part2,DevStatusPart};
|
||||
void registerClass(void);
|
||||
void insertHandlers(void);
|
||||
void removeHandlers(void);
|
||||
void setParts(void);
|
||||
void handleDeviceChange(CallbackData &cbData);
|
||||
void message(const String &message)const;
|
||||
void markGraphModeMenu(int itemID);
|
||||
void markToolBarButton(bool enableRecord,bool enableOthers);
|
||||
bool setPreviewWindow(void);
|
||||
void dvAppSetup(bool graphResult);
|
||||
bool dvRefreshMode(void);
|
||||
void dvStatusText(const String &text);
|
||||
bool dvUpdateTapeInfo(void);
|
||||
bool dvPutVcrMode(int mode);
|
||||
bool dvDisplayTimecode(void);
|
||||
bool dvSeekAtn(void);
|
||||
|
||||
bool handleFileSetOutput(void);
|
||||
void handleFileSetInput(void);
|
||||
void handleFileSaveGraph(void);
|
||||
void handleFileCaptureSize(void);
|
||||
void handleModePreview(void);
|
||||
void handleModeDVToFile(void);
|
||||
void handleModeDVToFileNoPre(void);
|
||||
void handleModeFileToDV(void);
|
||||
void handleModeFileToDVNoPre(void);
|
||||
void handleModeDVToFileType2(void);
|
||||
void handleModeDVToFileNoPreType2(void);
|
||||
void handleModeFileToDVType2(void);
|
||||
void handleModeFileToDVNoPreType2(void);
|
||||
void handleOptionsRefreshMode(void);
|
||||
void handleOptionsCheckTape(void);
|
||||
void handleOptionsDecodeSize(void);
|
||||
void handleOptionsFrameRate(void);
|
||||
void handleHelpAbout(void);
|
||||
void handlePlay(void);
|
||||
void handlePause(void);
|
||||
void handleStop(void);
|
||||
void handleRecord(void);
|
||||
void handleForward(void);
|
||||
void handleReverse(void);
|
||||
void handleForwardFastest(void);
|
||||
void handleSkipNext(void);
|
||||
void handleSkipPrev(void);
|
||||
void handleReverseFastest(void);
|
||||
void handleSeekATN(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 userHandler(CallbackData &someCallbackData);
|
||||
CallbackData::ReturnType deviceChangeHandler(CallbackData &someCallbackData);
|
||||
CallbackData::ReturnType atnTimerHandler(CallbackData &someCallbackData);
|
||||
CallbackData::ReturnType capLimitTimerHandler(CallbackData &someCallbackData);
|
||||
CallbackData::ReturnType framesTimerHandler(CallbackData &someCallbackData);
|
||||
|
||||
Callback<MainWindow> mPaintHandler;
|
||||
Callback<MainWindow> mDestroyHandler;
|
||||
Callback<MainWindow> mCommandHandler;
|
||||
Callback<MainWindow> mKeyDownHandler;
|
||||
Callback<MainWindow> mSizeHandler;
|
||||
Callback<MainWindow> mCreateHandler;
|
||||
Callback<MainWindow> mUserHandler;
|
||||
Callback<MainWindow> mDeviceChangeHandler;
|
||||
Callback<MainWindow> mATNTimerHandler;
|
||||
Callback<MainWindow> mCapLimitTimerHandler;
|
||||
Callback<MainWindow> mFramesTimerHandler;
|
||||
|
||||
static char szClassName[];
|
||||
static char szMenuName[];
|
||||
DeviceNotification mDeviceNotification;
|
||||
SmartPointer<StatusBarEx> mStatusBar;
|
||||
SmartPointer<ToolBar> mToolBar;
|
||||
SmartPointer<CaptureDeviceGraph> mCaptureDeviceGraph;
|
||||
SmartPointer<Control> mEdit1;
|
||||
SmartPointer<Control> mEdit2;
|
||||
SmartPointer<Control> mEdit3;
|
||||
SmartPointer<Control> mEdit4;
|
||||
SmartPointer<Control> mTCButton;
|
||||
CaptureDeviceGraph::GraphType mGraphType;
|
||||
PureMenu mAppMenu;
|
||||
bool mHaveDevice;
|
||||
int mVideoWidth;
|
||||
int mVideoHeight;
|
||||
DWORD mCapStartTime;
|
||||
MMTimer mAtnTimer;
|
||||
MMTimer mCapLimitTimer;
|
||||
MMTimer mFramesTimer;
|
||||
String mStrTimecode; // so we don't have to allocate a string for each timer frequency period
|
||||
DWORD mHours; // for timecode handling
|
||||
DWORD mMinutes; // for timecode handling
|
||||
DWORD mSeconds; // for timecode handling
|
||||
String mOutputFileName;
|
||||
String mInputFileName;
|
||||
};
|
||||
|
||||
inline
|
||||
String MainWindow::className(void)
|
||||
{
|
||||
return String(szClassName);
|
||||
}
|
||||
|
||||
inline
|
||||
void MainWindow::message(const String &message)const
|
||||
{
|
||||
::MessageBox(*this,message.str(),"DVCAP",MB_OK);
|
||||
}
|
||||
|
||||
inline
|
||||
void MainWindow::dvStatusText(const String &text)
|
||||
{
|
||||
if(!mStatusBar.isOkay())return;
|
||||
mStatusBar->setText(text,DevStatusPart);
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user