papyrus logo

color_scheme.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2006 by Rick L. Vinyard, Jr.                            *
00003  *   rvinyard@cs.nmsu.edu                                                  *
00004  *                                                                         *
00005  *   This file is part of the papyrus library.                             *
00006  *                                                                         *
00007  *   papyrus is free software; you can redistribute it and/or modify       *
00008  *   it under the terms of the GNU Lesser General Public License           *
00009  *   version 3.0 as published by the Free Software Foundation.             *
00010  *                                                                         *
00011  *   papyrus is distributed in the hope that it will be useful,            *
00012  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00013  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00014  *   GNU Lesser General Public License version 3.0 for more details.       *
00015  *                                                                         *
00016  *   You should have received a copy of the GNU Lesser General Public      *
00017  *   License along with the papyrus library. If not, see                   *
00018  *   <http://www.gnu.org/licenses/>.                                       *
00019  ***************************************************************************/
00020 #ifndef PAPYRUSSCHEME_H
00021 #define PAPYRUSSCHEME_H
00022 
00023 #include <vector>
00024 
00025 #include <papyrus/hsba.h>
00026 
00027 namespace Papyrus
00028   {
00029 
00030   typedef std::vector<HSBA> Colors;
00031 
00032   Colors primary_colors(double saturation=1.0, double brightness=1.0);
00033 
00034   Colors secondary_colors(double saturation=1.0, double brightness=1.0);
00035 
00036   Colors primary_secondary_colors(double saturation=1.0, double brightness=1.0);
00037 
00038   Colors tertiary_colors(double saturation=1.0, double brightness=1.0);
00039 
00040   Colors rgb_color_wheel(unsigned bands=24, double saturation=1.0, double brightness=1.0);
00041 
00042   Colors complements(const HSBA& color);
00043 
00044   Colors complements(const Colors& colors);
00045 
00046   Colors split_complements(const HSBA& color, double split=24.0);
00047 
00048   Colors split_complements(const Colors& colors, double split=24.0);
00049 
00050   Colors triads(const HSBA& color);
00051 
00052   Colors triads(const Colors& colors);
00053 
00054   Colors tetrads(const HSBA& color, double offset=-60.0);
00055 
00056   Colors tetrads(const Colors& colors, double offset=-60.0);
00057 
00058   Colors analogous(const HSBA& color, unsigned size=3, double offset=-30.0);
00059 
00060   Colors analogous(const Colors& colors, unsigned size=3, double offset=-30.0);
00061 
00063   Colors tints(const HSBA& color,
00064                                   unsigned size=5,
00065                                   double offset=-0.2,
00066                                   double start=1.0
00067                                  );
00068 
00069   Colors tints(const Colors& colors,
00070                unsigned size=5,
00071                double offset=-0.2,
00072                double start=1.0
00073               );
00074 
00076   Colors shades(const HSBA& color,
00077                                   unsigned size=5,
00078                                   double offset=-0.2,
00079                                   double start=1.0
00080                                  );
00081 
00082   Colors shades(const Colors& colors,
00083                 unsigned size=5,
00084                 double offset=-0.2,
00085                 double start=1.0
00086                );
00087 
00089   Colors tones(const HSBA& color,
00090                unsigned size=5,
00091                double offset=-0.2,
00092                double start=1.0
00093               );
00094 
00095   Colors tones(const Colors& colors,
00096                unsigned size=5,
00097                double offset=-0.2,
00098                double start=1.0
00099               );
00100 
00102   Colors monochromatic(const HSBA& color,
00103                           unsigned size=3,
00104                           double offset=-0.5,
00105                           double start=1.0
00106                          );
00107 
00108   Colors monochromatic(const Colors& colors,
00109                        unsigned size=3,
00110                        double offset=-0.5,
00111                        double start=1.0
00112                       );
00113 
00114 
00115   HSBA complement(const HSBA& color, double offset);
00116 
00117   HSBA hue_offset(const HSBA& color, double offset);
00118 
00119 
00120 }
00121 
00122 #endif

Generated on Fri Apr 16 12:40:10 2010 for papyrus by doxygen 1.6.1