diff options
Diffstat (limited to 'include/cru/common')
| -rw-r--r-- | include/cru/common/ui_base.hpp | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/include/cru/common/ui_base.hpp b/include/cru/common/ui_base.hpp index 0da18f22..017e3bd1 100644 --- a/include/cru/common/ui_base.hpp +++ b/include/cru/common/ui_base.hpp @@ -233,9 +233,25 @@ struct TextRange final {  };  struct Color { +  constexpr Color() : Color(0, 0, 0, 255) {} +  constexpr Color(std::uint8_t red, std::uint8_t green, std::uint8_t blue, +                  std::uint8_t alpha = 255) +      : red(red), green(green), blue(blue), alpha(alpha) {} + +  constexpr static Color FromHex(std::uint32_t hex) { +    return Color(hex & (0b11111111 << 16), hex & (0b11111111 << 8), +                 hex & (0b11111111), hex & (0b11111111 << 24)); +  } +    std::uint8_t red;    std::uint8_t green;    std::uint8_t blue;    std::uint8_t alpha;  }; + +namespace colors { +constexpr Color black{0, 0, 0}; +constexpr Color white{255, 255, 255}; +constexpr Color skyblue = Color::FromHex(0x87ceeb); +}  // namespace colors  }  // namespace cru::ui  | 
