Initial implementation
[harmattan/cameraplus] / lib / qtcammode.h
1 // -*- c++ -*-
2
3 #ifndef QT_CAM_MODE_H
4 #define QT_CAM_MODE_H
5
6 #include <QObject>
7 #include <QPair>
8
9 class QtCamModePrivate;
10 class QtCamDevicePrivate;
11 class QSize;
12 class QImage;
13
14 class QtCamMode : public QObject {
15   Q_OBJECT
16
17 public:
18   QtCamMode(QtCamModePrivate *d, const char *mode, const char *done, QObject *parent = 0);
19   virtual ~QtCamMode();
20
21   void activate();
22   void deactivate();
23
24   virtual bool canCapture();
25   bool isActive();
26
27   virtual void applySettings() = 0;
28
29 signals:
30   void previewAvailable(const QImage& image, const QString& fileName);
31   void saved(const QString& fileName);
32
33 protected:
34   virtual void start() = 0;
35   virtual void stop() = 0;
36
37   void setCaps(const char *property, const QSize& resolution, const QPair<int, int> frameRate);
38   void setPreviewSize(const QSize& size);
39
40   void setFileName(const QString& fileName);
41
42   QtCamModePrivate *d_ptr;
43 };
44
45 #endif /* QT_CAM_MODE_H */