KDEUI
kcolorspaces.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 * Copyright (C) 2007 Matthew Woehlke <mw_triad@users.sourceforge.net> 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Library General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 /* 00021 * If you use KColorSpaces in your own KDE code, please drop me a line at 00022 * mw_triad@users.sourceforge.net, as I would like to track if people find it 00023 * useful. Thanks! 00024 */ 00025 00026 #ifndef KCOLORSPACES_H 00027 #define KCOLORSPACES_H 00028 00029 #include <QtGui/QColor> 00030 00031 namespace KColorSpaces 00032 { 00033 00034 class KHSL 00035 { 00036 public: 00037 explicit KHSL(const QColor&); 00038 explicit KHSL(qreal h_, qreal s_, qreal l_, qreal a_ = 1.0); 00039 QColor qColor() const; 00040 qreal h, s, l, a; 00041 private: 00042 }; 00043 00044 class KHCY 00045 { 00046 public: 00047 explicit KHCY(const QColor&); 00048 explicit KHCY(qreal h_, qreal c_, qreal y_, qreal a_ = 1.0); 00049 QColor qColor() const; 00050 qreal h, c, y, a; 00051 static qreal luma(const QColor&); 00052 private: 00053 static qreal gamma(qreal); 00054 static qreal igamma(qreal); 00055 static qreal lumag(qreal, qreal, qreal); 00056 }; 00057 00058 } 00059 00060 #endif // KCOLORUTILS_H 00061 // kate: space-indent on; indent-width 4; replace-tabs on; auto-insert-doxygen on;