/* flip - pageflipper for TIFF animations * Copyright (C) 1999 Mark B. Allan (mba@reptilelabour.com) * * "flip" is free software; you can redistribute it and/or use * it and/or modify it under the terms of the "Artistic License" */ #ifndef MainWindow_h #define MainWindow_h #include #include #include #include #include #include #include #include #include #include #include "mwidgets.h" #define SIZE_50 0 #define SIZE_100 1 #define SIZE_200 2 #define LOOP_FORWARD 0 #define PING_PONG 1 class TiffFlip; class InputLCD; class FileDialog; class FlipPreferences; //==================================================================== class MainWindow : public QWidget { Q_OBJECT public: MainWindow(QWidget *parent = 0, const char* name = 0); ~MainWindow(); enum FPS { F60, F48, F30, F24, F20, F15, F12, F10, NumFPS }; static double fpsVal[NumFPS]; protected slots: void quit(); void LoadSequence(); void UpdateLoadStatus(int); void LoadSequenceCompleted(int sf, bool aborted); void SetFrameNumber(int); void Fps60(); void Fps48(); void Fps30(); void Fps24(); void Fps20(); void Fps15(); void Fps12(); void Fps10(); void SetFPS(FPS); void Step1(); void Step2(); void Step3(); void Step4(); void Step5(); void Step6(); void SetStep(int); void Zoom1(); void Zoom2(); void SetZoom(int); void PreferencesDialog(); void SetMinFrame(int); void SetMaxFrame(int); void Clear(); void LoopForward(); void PingPong(); void Stop(); void FastForward(); void Rewind(); void Action(); void ActionLoopForward(); void ActionPingPong(); void renderMPEG(); void DUMMYslot(); private: TiffFlip *tiffFlip; FlipPreferences *preferences; FileDialog *fileDialog; QMenuBar *menuBar; QPopupMenu *filePopup; int mpegID; QPopupMenu *utilPopup; QPopupMenu *fpsPopup; int fpsID[NumFPS]; QPopupMenu *stepPopup; int step1_ID; int step2_ID; int step3_ID; int step4_ID; int step5_ID; int step6_ID; QPopupMenu *zoomPopup; int zoom1_ID; int zoom2_ID; QVBoxLayout *topLayout; QHBoxLayout *middle; QVBoxLayout *midR; QVBoxLayout *midM; QVBoxLayout *midL; QHBoxLayout *buttons; QHBoxLayout *status; MToolButton *rew; MToolButton *ping; MToolButton *stop; MToolButton *play; MToolButton *ff; int playMode; QScrollBar *frameScroll; InputLCD *minFrameInput; InputLCD *maxFrameInput; QTimer *timer; QString frameNumString; QLabel *statusline; QLabel *frameNum; QLabel *actualFps; int curFrame; int minFrame; int maxFrame; int startFrame; int pingpong; double currentSpeed; int frameStep; struct timeval oldTime; struct timeval curTime; }; #endif // MainWindow_h