-
Notifications
You must be signed in to change notification settings - Fork 912
olc::Pixel
Javidx9 edited this page Apr 16, 2020
·
2 revisions
A struct that represents a single pixel in "engine" space. Pixels have a width and a height value and are rendered in "screen space". Therefore, the minimum useful size of a pixel is 1x1, which then maps directly onto display pixels on-screen.
Pixels consist of 4 components, red, green, blue and alpha. The configuration of a pixel can be set in various ways. By default Pixel alpha values are set to 255 (no transparency).
// Set explicitly
olc::Pixel p;
p.r = 100;
p.g = 200;
p.b = 150;
p.a = 255;
// Set via constructor (alpha is default)
olc::Pixel p(100,200,150);
// Set via constructor with alpha
olc::Pixel p(100,200,150,255);
// Set via HEX
olc::Pixel p(0xFF96C864);
p.n = 0xFF96C864 // Note order is ABGR
// Set Via Float
olc::Pixel p = olc::PixelF(0.1f, 0.2f, 0.3f, 1.0f);
A variety of convenience constants have been created:
- 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)
These can be used in place of a olc::Pixel argument, for example:
Draw(10, 10, olc::DARK_BLUE); // Draws a dark blue pixel at location (10,10)