Implemented color tone
authorMohammed Sameer <msameer@foolab.org>
Sun, 2 Sep 2012 12:21:50 +0000 (15:21 +0300)
committerMohammed Sameer <msameer@foolab.org>
Thu, 6 Sep 2012 16:10:10 +0000 (19:10 +0300)
lib/lib.pro
lib/qtcamcolortone.cpp [new file with mode: 0644]
lib/qtcamcolortone.h [new file with mode: 0644]

index 0529d5b..9dbcba5 100644 (file)
@@ -16,7 +16,7 @@ HEADERS += qtcamconfig.h qtcamera.h qtcamscanner.h qtcamdevice.h qtcamviewfinder
            qtcamviewfinderrenderergeneric.h qtcamimagesettings.h qtcamvideosettings.h \
            qtcamimagemode.h qtcamvideomode.h qtcammetadata.h qtcamcapability.h \
            qtcamzoom.h qtcamflash.h qtcamscene.h qtcamevcomp.h qtcamvideotorch.h \
-           qtcamwhitebalance.h
+           qtcamwhitebalance.h qtcamcolortone.h
 
 SOURCES += qtcamconfig.cpp qtcamera.cpp qtcamscanner.cpp qtcamdevice.cpp qtcamviewfinder.cpp \
            qtcammode.cpp qtcamgstreamermessagehandler.cpp qtcamgstreamermessagelistener.cpp \
@@ -24,7 +24,7 @@ SOURCES += qtcamconfig.cpp qtcamera.cpp qtcamscanner.cpp qtcamdevice.cpp qtcamvi
            qtcamviewfinderrenderergeneric.cpp qtcamimagesettings.cpp qtcamvideosettings.cpp \
            qtcamimagemode.cpp qtcamvideomode.cpp qtcammetadata.cpp qtcamcapability.cpp \
            qtcamzoom.cpp qtcamflash.cpp qtcamscene.cpp qtcamevcomp.cpp qtcamvideotorch.cpp \
-           qtcamwhitebalance.cpp
+           qtcamwhitebalance.cpp qtcamcolortone.cpp
 
 HEADERS += qtcammode_p.h qtcamdevice_p.h qtcamcapability_p.h
 
diff --git a/lib/qtcamcolortone.cpp b/lib/qtcamcolortone.cpp
new file mode 100644 (file)
index 0000000..a396845
--- /dev/null
@@ -0,0 +1,41 @@
+#include "qtcamcolortone.h"
+#include "qtcamcapability_p.h"
+
+QtCamColorTone::QtCamColorTone(QtCamDevice *dev, QObject *parent) :
+  QtCamCapability(new QtCamCapabilityPrivate(dev, QtCamCapability::ColourTone, "colour-tone-mode"),
+                 parent) {
+
+}
+
+QtCamColorTone::~QtCamColorTone() {
+
+}
+
+QtCamColorTone::ColorToneMode QtCamColorTone::value() {
+  int val = 0;
+  if (!d_ptr->intValue(&val)) {
+    return QtCamColorTone::Normal;
+  }
+
+  switch (val) {
+  case QtCamColorTone::Sepia:
+  case QtCamColorTone::Negative:
+  case QtCamColorTone::GrayScale:
+  case QtCamColorTone::Natural:
+  case QtCamColorTone::Vivid:
+  case QtCamColorTone::ColorSwap:
+  case QtCamColorTone::Solarize:
+  case QtCamColorTone::OutOfFocus:
+  case QtCamColorTone::SkyBlue:
+  case QtCamColorTone::GrassGreen:
+  case QtCamColorTone::SkinWhite:
+    return (QtCamColorTone::ColorToneMode)val;
+
+  default:
+    return QtCamColorTone::Normal;
+  }
+}
+
+bool QtCamColorTone::setValue(const QtCamColorTone::ColorToneMode& mode) {
+  return d_ptr->setIntValue(mode);
+}
diff --git a/lib/qtcamcolortone.h b/lib/qtcamcolortone.h
new file mode 100644 (file)
index 0000000..3ff60dc
--- /dev/null
@@ -0,0 +1,34 @@
+// -*- c++ -*-
+
+#ifndef QT_CAM_COLOR_TONE_H
+#define QT_CAM_COLOR_TONE_H
+
+#include "qtcamcapability.h"
+
+class QtCamColorTone : public QtCamCapability {
+  Q_OBJECT
+
+public:
+  typedef enum {
+    Normal = 0,
+    Sepia = 1,
+    Negative = 2,
+    GrayScale = 3,
+    Natural = 4,
+    Vivid = 5,
+    ColorSwap = 6,
+    Solarize = 7,
+    OutOfFocus = 8,
+    SkyBlue = 9,
+    GrassGreen = 10,
+    SkinWhite = 11,
+  } ColorToneMode;
+
+  QtCamColorTone(QtCamDevice *dev, QObject *parent = 0);
+  ~QtCamColorTone();
+
+  ColorToneMode value();
+  bool setValue(const ColorToneMode& mode);
+};
+
+#endif /* QT_CAM_COLOR_TONE_H */