12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef OLC_PGE_PIXEL
- #define OLC_PGE_PIXEL
-
- #include <cstdint>
- #include "olcPGE_Common.h"
-
- namespace olc {
- struct Pixel
- {
- union
- {
- uint32_t n = 0xFF000000;
- struct
- {
- uint8_t r; uint8_t g; uint8_t b; uint8_t a;
- };
- };
-
- Pixel();
- Pixel(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha = 255);
- Pixel(uint32_t p);
-
- static Pixel CreateFromHSV(uint8_t h, uint8_t s, uint8_t v, uint8_t alpha = 255);
- enum Mode { NORMAL, MASK, ALPHA, CUSTOM };
- };
-
- // Some constants for symbolic naming of Pixels
- static const Pixel
- WHITE(255, 255, 255),
- GREY(192, 192, 192), DARK_GREY(128, 128, 128), VERY_DARK_GREY(64, 64, 64),
- RED(255, 0, 0), DARK_RED(128, 0, 0), VERY_DARK_RED(64, 0, 0),
- YELLOW(255, 255, 0), DARK_YELLOW(128, 128, 0), VERY_DARK_YELLOW(64, 64, 0),
- GREEN(0, 255, 0), DARK_GREEN(0, 128, 0), VERY_DARK_GREEN(0, 64, 0),
- CYAN(0, 255, 255), DARK_CYAN(0, 128, 128), VERY_DARK_CYAN(0, 64, 64),
- BLUE(0, 0, 255), DARK_BLUE(0, 0, 128), VERY_DARK_BLUE(0, 0, 64),
- MAGENTA(255, 0, 255), DARK_MAGENTA(128, 0, 128), VERY_DARK_MAGENTA(64, 0, 64),
- BLACK(0, 0, 0),
- BLANK(0, 0, 0, 0);
-
- //==================================================================================
- }
-
- #endif
|