00001 #ifndef _QCamFindShift_hpp_
00002 #define _QCamFindShift_hpp_
00003
00004 #include "QCamClient.hpp"
00005 #include "QCamFrame.hpp"
00006 #include "ShiftInfo.hpp"
00007
00008
00012 class QCamFindShift : public QCamClient {
00013 Q_OBJECT;
00014 public:
00015 QCamFindShift();
00016 virtual QCamFrame image() const;
00017 ShiftInfo currentShift() const { return currentShift_;}
00018 virtual QWidget * buildGUI(QWidget *parent);
00019 public slots:
00021 void reset();
00022 protected:
00023 void camConnected();
00024 void camDisconnected();
00030 virtual bool registerFirstFrame()=0;
00034 virtual bool findShift(ShiftInfo & shift)=0;
00035 protected slots:
00036 void newFrame();
00037 signals:
00038 void shift(const ShiftInfo & );
00039 private:
00040 bool firstFrameRegistered_;
00041 ShiftInfo currentShift_;
00044 QSize currentFrameSize_;
00045 };
00046 #endif