filters

aicolor.h
1/* This file is part of the KDE project
2 Copyright (C) 2002, Dirk Schönberger <dirk.schoenberger@sz-online.de>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef AICOLOR_H
21#define AICOLOR_H
22
23#include <tqstring.h>
24
28
29class AIColor {
30 public:
31 typedef enum { CT_CMYK, CT_CMYK_Key, CT_Gray } ColorType;
32
33 private:
34 ColorType ctype;
35
36 union {
37 struct {
38 double cvalue, mvalue, yvalue, kvalue;
39 char *colorname;
40 double graydata;
41 } cmykdata;
42 double graydata;
43 } cdata;
44public:
45 AIColor();
46 ~AIColor();
47 AIColor( const AIColor& );
48 AIColor( double c, double m, double y, double k );
49 AIColor( double c, double m, double y, double k, const char *colorname, double gray );
50 AIColor( double gray );
51
52 void toRGB (double &r, double &g, double &b);
53 void toCMYK (double &c, double &m, double &y, double &k);
54
55};
56
57#endif