00001 #ifndef KDE__COLORGROUP_H
00002 #define KDE__COLORGROUP_H
00003
00004
00005 #include <faith/color.h>
00006
00007 namespace Faith
00008 {
00009 class Brush;
00010
00016 class FAITH_CORE_EXPORT ColorGroup
00017 {
00018 struct ColorGroupPrivate;
00019 ColorGroupPrivate *d;
00020
00021 public:
00043 enum ColorRole
00044 {
00045 Background,
00046 Foreground,
00047 Button,
00048 ButtonText,
00049 Base,
00050 Text,
00051 Highlight,
00052 HighlightedText,
00053 Midlight,
00054 Mid,
00055 Light,
00056 Link,
00057 LinkVisited
00058 };
00059
00063 ColorGroup();
00064 ColorGroup(const ColorGroup ©);
00065 ~ColorGroup();
00066
00067 ColorGroup &operator =(const ColorGroup ©);
00068 bool operator ==(const ColorGroup &other) const;
00069
00070 Color color(ColorRole r) const;
00071
00072 Color brush(ColorRole r) const { return color(r); }
00073 void setColor(ColorRole r, const Color &color);
00074
00075 Color background() const { return color(Background); }
00076 Color foreground() const { return color(Foreground); }
00077 Color button() const { return color(Button); }
00078 Color buttonText() const { return color(ButtonText); }
00079 Color base() const { return color(Base); }
00080 Color text() const { return color(Text); }
00081 Color highlightedText() const { return color(HighlightedText); }
00082 Color highlight() const { return color(Highlight); }
00083 Color midlight() const { return color(Midlight); }
00084 Color mid() const { return color(Mid); }
00085 Color light() const { return color(Light); }
00086 Color link() const { return color(Link); }
00087 Color linkVisited() const { return color(LinkVisited); }
00088 };
00089
00090
00091 }
00092
00093
00094 #endif