File indexing completed on 2024-04-14 14:21:00

0001 /*  This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 /*
0008  * If you use KColorSpaces in your own KDE code, please drop me a line at
0009  * mw_triad@users.sourceforge.net, as I would like to track if people find it
0010  * useful. Thanks!
0011  */
0012 
0013 #ifndef KCOLORSPACES_H
0014 #define KCOLORSPACES_H
0015 
0016 #include <QColor>
0017 
0018 namespace KColorSpaces
0019 {
0020 class KHCY
0021 {
0022 public:
0023     explicit KHCY(const QColor &);
0024     explicit KHCY(qreal h_, qreal c_, qreal y_, qreal a_ = 1.0);
0025     QColor qColor() const;
0026     qreal h, c, y, a;
0027     static qreal hue(const QColor &);
0028     static qreal chroma(const QColor &);
0029     static qreal luma(const QColor &);
0030 
0031 private:
0032     static qreal gamma(qreal);
0033     static qreal igamma(qreal);
0034     static qreal lumag(qreal, qreal, qreal);
0035 };
0036 
0037 }
0038 
0039 #endif