00001 #ifndef _FrameMirror_hpp_
00002 #define _FrameMirror_hpp_
00003
00004 #include <qobject.h>
00005 #include <qstring.h>
00006 #include <qhbox.h>
00007
00008 #include "FrameAlgo.hpp"
00009 class QPushButton;
00010
00011 class FrameMirror : public FrameAlgo {
00012 Q_OBJECT;
00013 private:
00014 class Widget : public QHBox {
00015 public:
00016 ~Widget();
00017 Widget(QWidget * parent,const FrameMirror * algo);
00018 private:
00019 QPushButton * upDown_;
00020 QPushButton * leftRight_;
00021 };
00022
00023 public:
00024 FrameMirror();
00025 bool transform(const QCamFrame in, QCamFrame & out);
00026 QString label() const {return "Mirror";}
00027 QWidget * allocGui(QWidget * parent) const {
00028 return new Widget(parent,this);
00029 }
00030 public slots:
00031 void swapUpDown(bool);
00032 void swapLeftRight(bool);
00033 signals:
00034 void upDownSwapped(bool);
00035 void leftRightSwapped(bool);
00036 private:
00037 void memswap(unsigned char *dest,
00038 const unsigned char *src, size_t n);
00039 bool swapUpDown_;
00040 bool swapLeftRight_;
00041 };
00042
00043
00044 #endif