]> git.sesse.net Git - kdenlive/blobdiff - src/colorcorrection/histogramgenerator.h
Const'ref
[kdenlive] / src / colorcorrection / histogramgenerator.h
index 399345877ff834563a3bbb63bed0616843dc4532..faa7dd5a27f1ae75984c3ac6bfac9977df29342c 100644 (file)
@@ -22,21 +22,25 @@ class QSize;
 class HistogramGenerator : public QObject
 {
 public:
-    HistogramGenerator();
+    explicit HistogramGenerator();
+
+    /** Recommendation to use.
+        See http://www.poynton.com/ColorFAQ.html for details. */
+    enum Rec { Rec_601, Rec_709 };
 
     /**
         Calculates a histogram display from the input image.
         components are OR-ed HistogramGenerator::Components flags and decide with components (Y, R, G, B) to paint.
         unscaled = true leaves the width at 256 if the widget is wider (to avoid scaling). */
-    QImage calculateHistogram(const QSize &paradeSize, const QImage &image, const int &components, const bool &unscaled,
-                           const uint &accelFactor = 1) const;
+    QImage calculateHistogram(const QSize &paradeSize, const QImage &image, const int &components, const HistogramGenerator::Rec rec,
+                              bool unscaled, uint accelFactor = 1) const;
 
-    QImage drawComponent(const int *y, const QSize &size, const float &scaling, const QColor &color, const bool &unscaled) const;
+    QImage drawComponent(const int *y, const QSize &size, const float &scaling, const QColor &color, bool unscaled, uint max) const;
 
     void drawComponentFull(QPainter *davinci, const int *y, const float &scaling, const QRect &rect,
-                           const QColor &color, const int &textSpace, const bool &unscaled) const;
+                           const QColor &color, int textSpace, bool unscaled, uint max) const;
 
-    enum Components { ComponentY = 1<<0, ComponentR = 1<<1, ComponentG = 1<<2, ComponentB = 1<<3 };
+    enum Components { ComponentY = 1<<0, ComponentR = 1<<1, ComponentG = 1<<2, ComponentB = 1<<3, ComponentSum = 1<<4 };
 
 };