Jimcpp 2.1.0
Jimcpp is a high-performance c++ graphics engine.
|
Class representing a 32 bit ARGB color. More...
#include <jimcpp/core/engine/SColor.hpp>
Public Member Functions | |
SColor () | |
Constructor of the Color. Does nothing. | |
SColor (u32 a, u32 r, u32 g, u32 b) | |
Constructs the color from 4 values representing the alpha, red, green and blue component. | |
SColor (u32 clr) | |
Constructs the color from a 32 bit value. Could be another color. | |
u32 | getAlpha () const |
Returns the alpha component of the color. | |
u32 | getRed () const |
Returns the red component of the color. | |
u32 | getGreen () const |
Returns the green component of the color. | |
u32 | getBlue () const |
Returns the blue component of the color. | |
f32 | getLightness () const |
Get lightness of the color in the range [0,255]. | |
f32 | getLuminance () const |
Get luminance of the color in the range [0,255]. | |
u32 | getAverage () const |
Get average intensity of the color in the range [0,255]. | |
void | setAlpha (u32 a) |
Sets the alpha component of the Color. | |
void | setRed (u32 r) |
Sets the red component of the Color. | |
void | setGreen (u32 g) |
Sets the green component of the Color. | |
void | setBlue (u32 b) |
Sets the blue component of the Color. | |
u16 | toA1R5G5B5 () const |
Calculates a 16 bit A1R5G5B5 value of this color. | |
void | toOpenGLColor (u8 *dest) const |
Converts color to OpenGL color format. | |
void | set (u32 a, u32 r, u32 g, u32 b) |
Sets all four components of the color at once. | |
void | set (u32 col) |
bool | operator== (const SColor &other) const |
Compares the color to another color. | |
bool | operator!= (const SColor &other) const |
Compares the color to another color. | |
bool | operator< (const SColor &other) const |
comparison operator | |
SColor | operator+ (const SColor &other) const |
Adds two colors, result is clamped to 0..255 values. | |
SColor | getInterpolated (const SColor &other, f32 d) const |
Interpolates the color with a f32 value to another color. | |
SColor | getInterpolated_quadratic (const SColor &c1, const SColor &c2, f32 d) const |
Returns interpolated color. ( quadratic ) | |
void | setData (const void *data, ECOLOR_FORMAT format) |
set the color by expecting data in the given format | |
void | getData (void *data, ECOLOR_FORMAT format) const |
Write the color to data in the defined format. | |
Public Attributes | |
u32 | color |
color in A8R8G8B8 Format | |
Class representing a 32 bit ARGB color.
The color values for alpha, red, green, and blue are stored in a single u32. So all four values may be between 0 and 255. Alpha in Jimcpp is opacity, so 0 is fully transparent, 255 is fully opaque (solid). This class is used by most parts of the Jimcpp Engine to specify a color. Another way is using the class SColorf, which stores the color values in 4 floats. This class must consist of only one u32 and must not use virtual functions.
|
inline |
Constructor of the Color. Does nothing.
The color value is not initialized to save time.
Constructs the color from 4 values representing the alpha, red, green and blue component.
Must be values between 0 and 255.
|
inline |
Returns the alpha component of the color.
The alpha component defines how opaque a color is.
|
inline |
Returns the blue component of the color.
|
inline |
Write the color to data in the defined format.
data | target to write the color. Must contain sufficiently large memory to receive the number of bytes neede for format |
format | tells the format used to write the color into data |
|
inline |
Returns the green component of the color.
Interpolates the color with a f32 value to another color.
other | Other color |
d | value between 0.0f and 1.0f. d=0 returns other, d=1 returns this, values between interpolate. |
|
inline |
Returns interpolated color. ( quadratic )
c1 | first color to interpolate with |
c2 | second color to interpolate with |
d | value between 0.0f and 1.0f. |
|
inline |
Returns the red component of the color.
|
inline |
Compares the color to another color.
Adds two colors, result is clamped to 0..255 values.
other | Color to add to this color |
|
inline |
comparison operator
|
inline |
Compares the color to another color.
Sets all four components of the color at once.
Constructs the color from 4 values representing the alpha, red, green and blue components of the color. Must be values between 0 and 255.
a | Alpha component of the color. The alpha component defines how transparent a color should be. Has to be a value between 0 and 255. 255 means not transparent (opaque), 0 means fully transparent. |
r | Sets the red component of the Color. Has to be a value between 0 and 255. 0 means no red, 255 means full red. |
g | Sets the green component of the Color. Has to be a value between 0 and 255. 0 means no green, 255 means full green. |
b | Sets the blue component of the Color. Has to be a value between 0 and 255. 0 means no blue, 255 means full blue. |
|
inline |
Sets the alpha component of the Color.
The alpha component defines how transparent a color should be.
a | The alpha value of the color. 0 is fully transparent, 255 is fully opaque. |
|
inline |
Sets the blue component of the Color.
b | Has to be a value between 0 and 255. 0 means no blue, 255 means full blue. |
|
inline |
set the color by expecting data in the given format
data | must point to valid memory containing color information in the given format |
format | tells the format in which data is available |
|
inline |
Sets the green component of the Color.
g | Has to be a value between 0 and 255. 0 means no green, 255 means full green. |
|
inline |
Sets the red component of the Color.
r | Has to be a value between 0 and 255. 0 means no red, 255 means full red. |
|
inline |
Calculates a 16 bit A1R5G5B5 value of this color.
|
inline |
Converts color to OpenGL color format.
From ARGB to RGBA in 4 byte components for endian aware passing to OpenGL
dest | address where the 4x8 bit OpenGL color is stored. |