xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/imxx11/camera/camera.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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