00001 #ifndef VIDEOSETTINGSCODE_H 00002 #define VIDEOSETTINGSCODE_H 00003 00004 #include "VideoSettings.h" 00005 #include "VideoDevice.h" 00006 00007 class CVideoSettingsDlg: public CVideoSettings 00008 { 00009 Q_OBJECT 00010 private: 00011 CVideoDevice *pVideo; 00012 CVideoDeviceTuner *pTuner; 00013 00014 bool IsPhilips; 00015 int m_WBMode; 00016 int m_WBRed, m_WBBlue; 00017 QTimer AutoTimer; 00018 00019 QSize sizes[7]; 00020 QSize size, org_size, max_size; 00021 int fps, org_fps; 00022 00023 int FreqSystem; 00024 QArray<float> Frequencies; 00025 float CentralFrequency; 00026 00027 void GetCamSizeFrame(bool First = FALSE); 00028 void EnableTuning(bool doit); 00029 00030 private slots: 00031 // callback from CVideoDevice 00032 void SizeChanged(const QSize &); 00033 void FramerateChanged(int); 00034 void UpdateAuto(); 00035 00036 protected: 00037 void hideEvent(QHideEvent *); 00038 void showEvent(QShowEvent *); 00039 00040 protected slots: 00041 // User actions 00042 // 1st group: Size & Frame 00043 virtual void ClickedSize(int); 00044 virtual void ClickedRate(int); 00045 // 2nd group: Video controls 00046 virtual void MovedBrightness(int); 00047 virtual void MovedContrast(int); 00048 virtual void MovedGamma(int); 00049 virtual void MovedColour(int); 00050 00051 // 3rd group: Tuning 00052 virtual void ClickedInputSelector(int); 00053 virtual void ClickedTunerSelector(int); 00054 virtual void ClickedFrequencySystem(int); 00055 virtual void ClickedChannel(); 00056 virtual void MovedFineTuning(int); 00057 00058 // 4th group: Philips Extensions 00059 virtual void ToggledAGC(bool); 00060 virtual void MovedAGC(int); 00061 virtual void ToggledShutter(bool); 00062 virtual void MovedShutter(int); 00063 virtual void ToggledContour(bool); 00064 virtual void MovedContour(int); 00065 virtual void ToggledBacklight(bool); 00066 virtual void ToggledFlicker(bool); 00067 virtual void ChangedNoise(int); 00068 virtual void ChangedCompression(int); 00069 virtual void ChangedWB(int); 00070 virtual void MovedRed(int); 00071 virtual void MovedBlue(int); 00072 virtual void MovedWBSpeed(int); 00073 virtual void MovedWBDelay(int); 00074 virtual void ClickedSaveUser(); 00075 virtual void ClickedRestoreUser(); 00076 virtual void ClickedRestoreFactory(); 00077 00078 public: 00079 CVideoSettingsDlg(CVideoDevice *video); 00080 00081 signals: 00082 void DialogClosed(); 00083 void Changed(QSize, int); 00084 }; 00085 00086 #endif