QCamTrans.hpp

00001 #ifndef _QCamTrans_hpp_
00002 #define _QCamTrans_hpp_
00003 
00004 #include <qobject.h>
00005 #include "QCam.hpp"
00006 
00007 class FrameAlgo;
00008 
00009 class QCamTrans : public QCam {
00010    Q_OBJECT
00011 public:
00013    enum Mode {
00014       On=1 ,
00015       Off=2 ,
00016       Copy=3 
00017    };
00019    QCamTrans();
00021    void connectCam(QCam & cam);
00023    void disconnectCam();
00025    Mode mode() const {return mode_;}
00026    QCamFrame yuvFrame() const {return camFrame_; }
00027    void connectAlgo(FrameAlgo & algo);
00028    void disconnectAlgo();
00029    const QSize & size() const {
00030       if (cam_) {
00031          return cam_->size();
00032       } else return emptySize_;
00033    }
00034    void resize(const QSize & s) {
00035       if (cam_) {
00036          cam_->resize(s);
00037       }
00038    }
00039    virtual const QSize * getAllowedSize() const { return QCam::getAllowedSize();}
00040    virtual QWidget* buildGUI(QWidget * parent);
00041 public slots:
00043    void mode(int mode);
00044 signals:
00045    void modeChanged(int);
00046 private slots:
00047    void transNewFrame();
00048 private:
00049    QCam * cam_;
00050    bool paused_;
00051    QCamFrame camFrame_;
00052    Mode mode_;
00053    FrameAlgo * algo_;
00054    QWidget * algoWidget_;
00055    QSize emptySize_;
00056 };
00057 #endif

Generated on Sat Oct 27 09:21:03 2007 for QastroCam by  doxygen 1.5.1