![]() |
Mixxx
|
00001 /*************************************************************************** 00002 imgcolor.h - description 00003 ------------------- 00004 begin : 14 April 2007 00005 copyright : (C) 2007 by Adam Davison 00006 email : adamdavison@gmail.com 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef IMGCOLOR_H 00019 #define IMGCOLOR_H 00020 00021 #include "imgsource.h" 00022 00023 class ImgAdd : public ImgColorProcessor { 00024 00025 public: 00026 ImgAdd(ImgSource* parent, int amt); 00027 virtual QColor doColorCorrection(QColor c); 00028 00029 private: 00030 int m_amt; 00031 }; 00032 00033 class ImgMax : public ImgColorProcessor { 00034 00035 public: 00036 ImgMax(ImgSource* parent, int amt); 00037 virtual QColor doColorCorrection(QColor c); 00038 00039 private: 00040 int m_amt; 00041 }; 00042 00043 class ImgScaleWhite : public ImgColorProcessor { 00044 00045 public: 00046 inline ImgScaleWhite(ImgSource* parent, float amt) 00047 : ImgColorProcessor(parent), m_amt(amt) {} 00048 virtual QColor doColorCorrection(QColor c); 00049 private: 00050 float m_amt; 00051 }; 00052 00053 class ImgHueRot : public ImgColorProcessor { 00054 00055 public: 00056 inline ImgHueRot(ImgSource* parent, int amt) 00057 : ImgColorProcessor(parent), m_amt(amt) {} 00058 virtual QColor doColorCorrection(QColor c); 00059 00060 private: 00061 int m_amt; 00062 }; 00063 00064 class ImgHueInv : public ImgColorProcessor { 00065 00066 public: 00067 inline ImgHueInv(ImgSource* parent) : ImgColorProcessor(parent) {} 00068 virtual QColor doColorCorrection(QColor c); 00069 }; 00070 00071 class ImgHSVTweak : public ImgColorProcessor { 00072 public: 00073 inline ImgHSVTweak(ImgSource* parent, int hmin, int hmax, int smin, 00074 int smax, int vmin, int vmax, float hfact, int hconst, float sfact, 00075 int sconst, float vfact, int vconst) 00076 : ImgColorProcessor(parent), 00077 m_hmin(hmin), m_hmax(hmax), 00078 m_smin(smin), m_smax(smax), 00079 m_vmin(vmin), m_vmax(vmax), 00080 m_hconst(hconst), m_sconst(sconst), m_vconst(vconst), 00081 m_hfact(hfact), m_sfact(sfact), m_vfact(vfact) {} 00082 virtual QColor doColorCorrection(QColor c); 00083 00084 private: 00085 int m_hmin, m_hmax, 00086 m_smin, m_smax, 00087 m_vmin, m_vmax, 00088 m_hconst, m_sconst, m_vconst; 00089 float m_hfact, m_sfact, m_vfact; 00090 }; 00091 #endif 00092