1 #ifndef CAMERA_H 2 #define CAMERA_H 3 4 #include <QWidget> 5 #include <fcntl.h> 6 #include <QMessageBox> 7 #include "imagewidget.h" 8 #include "iwidget.h" 9 10 #define CLEAR(x) memset (&(x), 0, sizeof (x)) 11 12 namespace Ui 13 { 14 class Camera; 15 } 16 17 class Camera : public IWidget 18 { 19 Q_OBJECT 20 Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "camera.json") 21 22 public: 23 explicit Camera(QWidget *parent = 0); 24 ~Camera(); 25 QString id(); 26 27 QWidget *parent; 28 class ImageWidget *imageWidget; 29 30 QTimer *timer; 31 void closeEvent(QCloseEvent *event); 32 33 34 protected: 35 void changeEvent(QEvent *e); 36 37 38 private slots: 39 void on_pbt_start_clicked(); 40 41 void on_pbt_stop_clicked(); 42 void up_date(); 43 44 private: 45 Ui::Camera *ui; 46 47 48 49 50 }; 51 void errno_exit(const char* s); 52 int xioctl(int fd, int request, void* argp); 53 void deviceOpen(void); 54 void deviceInit(void); 55 void mmapInit(void); 56 void captureStart(void); 57 void mainLoop(unsigned char* src); 58 unsigned char* frameRead(unsigned char* src); 59 unsigned char* imageProcess(const void* p,unsigned char* dst); 60 61 inline int fb_init(void); 62 void deviceUninit(void); 63 64 #endif // CAMERA_H 65