Implemented QtCamFlickerReduction
[harmattan/cameraplus] / lib / qtcamcapability.h
1 // -*- c++ -*-
2
3 #ifndef QT_CAM_CAPABILITY_H
4 #define QT_CAM_CAPABILITY_H
5
6 #include <QObject>
7
8 class QtCamDevice;
9 class QtCamCapabilityPrivate;
10
11 class QtCamCapability : public QObject {
12   Q_OBJECT
13   Q_FLAGS(Capability Capabilities)
14
15 public:
16   typedef enum {
17     EvComp = (1 << 0),
18     IsoSpeed = (1 << 1),
19     WhiteBalance = (1 << 2),
20     ColourTone = (1 << 3),
21     Scene = (1 << 4),
22     Flash = (1 << 5),
23     Zoom = (1 << 6),
24     Focus = (1 << 7),
25     Aperture = (1 << 8),
26     Eposure = (1 << 9),
27     Shake = (1 << 10),
28     NoiseReduction = (1 << 11),
29     FlickerReduction = (1 << 12)
30   } Capability;
31
32   Q_DECLARE_FLAGS(Capabilities, Capability)
33
34   static Capabilities capabilities(QtCamDevice *dev);
35
36   QtCamCapability(QtCamCapabilityPrivate *d, QObject *parent = 0);
37   virtual ~QtCamCapability();
38
39   bool isSupported();
40
41 signals:
42   void valueChanged();
43   void minimumValueChanged();
44   void maximumValueChanged();
45
46 protected:
47   QtCamCapabilityPrivate *d_ptr;
48 };
49
50 #endif /* QT_CAM_CAPABILITY_H */