hyperion.ng
ColorRgba.h
1 #pragma once
2 
3 // STL includes
4 #include <cstdint>
5 #include <ostream>
6 
7 struct ColorRgba;
8 
9 struct ColorRgba
10 {
11 
13  uint8_t red;
15  uint8_t green;
17  uint8_t blue;
18 
20  uint8_t alpha;
21 
23  static ColorRgba BLACK;
25  static ColorRgba RED;
27  static ColorRgba GREEN;
29  static ColorRgba BLUE;
31  static ColorRgba YELLOW;
33  static ColorRgba WHITE;
34 };
35 
36 
38 static_assert(sizeof(ColorRgba) == 4, "Incorrect size of ColorARGB");
39 
47 inline std::ostream& operator<<(std::ostream& os, const ColorRgba& color)
48 {
49  os << "{" << unsigned(color.alpha) << "," << unsigned(color.red) << "," << unsigned(color.green) << "," << unsigned(color.blue) << "}";
50  return os;
51 }
52 
Definition: ColorRgba.h:9
uint8_t blue
The blue color channel.
Definition: ColorRgba.h:17
uint8_t alpha
The alpha mask channel.
Definition: ColorRgba.h:20
static ColorRgba BLACK
&#39;Black&#39; RgbColor (0, 0, 0, 255)
Definition: ColorRgba.h:23
static ColorRgba BLUE
&#39;Blue&#39; RgbColor (0, 0, 255, 255)
Definition: ColorRgba.h:29
static ColorRgba GREEN
&#39;Green&#39; RgbColor (0, 255, 0, 255)
Definition: ColorRgba.h:27
static ColorRgba RED
&#39;Red&#39; RgbColor (255, 0, 0, 255)
Definition: ColorRgba.h:25
static ColorRgba YELLOW
&#39;Yellow&#39; RgbColor (255, 255, 0, 255)
Definition: ColorRgba.h:31
uint8_t green
The green color channel.
Definition: ColorRgba.h:15
uint8_t red
The red color channel.
Definition: ColorRgba.h:13
static ColorRgba WHITE
&#39;White&#39; RgbColor (255, 255, 255, 255
Definition: ColorRgba.h:33