00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PAPYRUSSCHEME_H
00020 #define PAPYRUSSCHEME_H
00021
00022 #include <vector>
00023
00024 #include <papyrus/hsba.h>
00025
00026 namespace Papyrus
00027 {
00028
00029 typedef std::vector<HSBA> Colors;
00030
00031 Colors primary_colors(double saturation=1.0, double brightness=1.0);
00032
00033 Colors secondary_colors(double saturation=1.0, double brightness=1.0);
00034
00035 Colors primary_secondary_colors(double saturation=1.0, double brightness=1.0);
00036
00037 Colors tertiary_colors(double saturation=1.0, double brightness=1.0);
00038
00039 Colors rgb_color_wheel(unsigned bands=24, double saturation=1.0, double brightness=1.0);
00040
00041 Colors complements(const HSBA& color);
00042
00043 Colors complements(const Colors& colors);
00044
00045 Colors split_complements(const HSBA& color, double split=24.0);
00046
00047 Colors split_complements(const Colors& colors, double split=24.0);
00048
00049 Colors triads(const HSBA& color);
00050
00051 Colors triads(const Colors& colors);
00052
00053 Colors tetrads(const HSBA& color, double offset=-60.0);
00054
00055 Colors tetrads(const Colors& colors, double offset=-60.0);
00056
00057 Colors analogous(const HSBA& color, unsigned size=3, double offset=-30.0);
00058
00059 Colors analogous(const Colors& colors, unsigned size=3, double offset=-30.0);
00060
00062 Colors tints(const HSBA& color,
00063 unsigned size=5,
00064 double offset=-0.2,
00065 double start=1.0
00066 );
00067
00068 Colors tints(const Colors& colors,
00069 unsigned size=5,
00070 double offset=-0.2,
00071 double start=1.0
00072 );
00073
00075 Colors shades(const HSBA& color,
00076 unsigned size=5,
00077 double offset=-0.2,
00078 double start=1.0
00079 );
00080
00081 Colors shades(const Colors& colors,
00082 unsigned size=5,
00083 double offset=-0.2,
00084 double start=1.0
00085 );
00086
00088 Colors tones(const HSBA& color,
00089 unsigned size=5,
00090 double offset=-0.2,
00091 double start=1.0
00092 );
00093
00094 Colors tones(const Colors& colors,
00095 unsigned size=5,
00096 double offset=-0.2,
00097 double start=1.0
00098 );
00099
00101 Colors monochromatic(const HSBA& color,
00102 unsigned size=3,
00103 double offset=-0.5,
00104 double start=1.0
00105 );
00106
00107 Colors monochromatic(const Colors& colors,
00108 unsigned size=3,
00109 double offset=-0.5,
00110 double start=1.0
00111 );
00112
00113
00114 HSBA complement(const HSBA& color, double offset);
00115
00116 HSBA hue_offset(const HSBA& color, double offset);
00117
00118
00119 }
00120
00121 #endif