diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-05-07 18:52:23 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-05-13 14:25:05 +0200 |
| commit | 56ab33c9d6dc0255bf15ebd1fbc216766ffb247c (patch) | |
| tree | 40f3cff1b16397f1ea4ab4c7bff7c69b3cd8a606 /src/color.hh | |
| parent | d80815b927b54be6fb51d244b567f52185ee6cea (diff) | |
support specifying colors with RGB components
Diffstat (limited to 'src/color.hh')
| -rw-r--r-- | src/color.hh | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/color.hh b/src/color.hh index 0cd7d18c..9cc5abf5 100644 --- a/src/color.hh +++ b/src/color.hh @@ -8,7 +8,7 @@ namespace Kakoune class String; -enum class Color : char +enum class Colors : char { Default, Black, @@ -18,7 +18,26 @@ enum class Color : char Blue, Magenta, Cyan, - White + White, + RGB, +}; + +struct Color +{ + Colors color; + unsigned char r; + unsigned char g; + unsigned char b; + + Color() : Color{Colors::Default} {} + Color(Colors c) : color{c}, r{0}, g{0}, b{0} {} + Color(unsigned char r, unsigned char g, unsigned char b) + : color{Colors::RGB}, r{r}, g{g}, b{b} {} + + bool operator==(const Color& c) const + { return color == c.color and r == c.r and g == c.g and b == c.b; } + bool operator!=(const Color& c) const + { return color != c.color or r != c.r or g != c.g or b != c.b; } }; using ColorPair = std::pair<Color, Color>; |
