Loading...
Searching...
No Matches
irr::video::SColor Class Reference

Class representing a 32 bit ARGB color. More...

`#include <SColor.h>`

## 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 | getAverage () const
| Get average intensity of the color in the range [0,255].
u32 | getBlue () const
| Returns the blue component of the color.
void | getData (void *data, ECOLOR_FORMAT format)
| Write the color to data in the defined format.
u32 | getGreen () const
| Returns the green component of the color.
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 ).
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 | getRed () const
| Returns the red component of the color.
bool | operator!= (const SColor &other) const
| Compares the color to another color.
SColor | operator+ (const SColor &other) const
| Adds two colors, result is clamped to 0..255 values.
bool | operator< (const SColor &other) const
| comparison operator
bool | operator== (const SColor &other) const
| Compares the color to another color.
void | set (u32 a, u32 r, u32 g, u32 b)
| Sets all four components of the color at once.
void | set (u32 col)
void | setAlpha (u32 a)
| Sets the alpha component of the Color.
void | setBlue (u32 b)
| Sets the blue component of the Color.
void | setData (const void *data, ECOLOR_FORMAT format)
| set the color by expecting data in the given format
void | setGreen (u32 g)
| Sets the green component of the Color.
void | setRed (u32 r)
| Sets the red 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.

## Public Attributes

u32 | color
| color in A8R8G8B8 Format

## Detailed Description

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 Irrlicht is opacity, so 0 is fully transparent, 255 is fully opaque (solid). This class is used by most parts of the Irrlicht 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.

Definition at line 201 of file SColor.h.

## Constructor & Destructor Documentation

## SColor() [1/3]

irr::video::SColor::SColor | ( |  | ) |

inline

Constructor of the Color. Does nothing.

The color value is not initialized to save time.

Definition at line 207 of file SColor.h.

Referenced by getInterpolated(), getInterpolated_quadratic(), operator!=(), operator+(), operator<(), and operator==().

## SColor() [2/3]

irr::video::SColor::SColor | ( | u32 | a,
|  | u32 | r,
|  | u32 | g,
|  | u32 | b )

inline

Constructs the color from 4 values representing the alpha, red, green and blue component.

Must be values between 0 and 255.

Definition at line 211 of file SColor.h.

References color.

## SColor() [3/3]

irr::video::SColor::SColor | ( | u32 | clr | ) |

inline

Constructs the color from a 32 bit value. Could be another color.

Definition at line 215 of file SColor.h.

References color.

## Member Function Documentation

## getAlpha()

u32 irr::video::SColor::getAlpha | ( |  | ) | const

inline

Returns the alpha component of the color.

The alpha component defines how opaque a color is.

Returns
  The alpha value of the color. 0 is fully transparent, 255 is fully opaque.

Definition at line 221 of file SColor.h.

References color.

Referenced by irr::video::SColorf::SColorf(), getInterpolated(), getInterpolated_quadratic(), operator+(), and toOpenGLColor().

## getAverage()

u32 irr::video::SColor::getAverage | ( |  | ) | const

inline

Get average intensity of the color in the range [0,255].

Definition at line 251 of file SColor.h.

References getBlue(), getGreen(), and getRed().

Referenced by irr::scene::SVertexColorDesaturateToAverageManipulator::operator()(), and irr::scene::SVertexColorThresholdManipulator::operator()().

## getBlue()

u32 irr::video::SColor::getBlue | ( |  | ) | const

inline

Returns the blue component of the color.

Returns
  Value between 0 and 255, specifying how blue the color is. 0 means no blue, 255 means full blue.

Definition at line 236 of file SColor.h.

References color.

Referenced by irr::video::SColorf::SColorf(), getAverage(), getData(), getInterpolated(), getInterpolated_quadratic(), getLightness(), getLuminance(), irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), irr::scene::SVertexColorScaleManipulator::operator()(), operator+(), and toOpenGLColor().

## getData()

void irr::video::SColor::getData | ( | void * | data,
|  | ECOLOR_FORMAT | format )

inline

Write the color to data in the defined format.

Parameters

  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

Definition at line 407 of file SColor.h.

References irr::video::A8R8G8B8toA1R5G5B5(), irr::video::A8R8G8B8toR5G6B5(), color, irr::video::ECF_A1R5G5B5, irr::video::ECF_A8R8G8B8, irr::video::ECF_R5G6B5, irr::video::ECF_R8G8B8, getBlue(), getGreen(), and getRed().

## getGreen()

u32 irr::video::SColor::getGreen | ( |  | ) | const

inline

Returns the green component of the color.

Returns
  Value between 0 and 255, specifying how green the color is. 0 means no green, 255 means full green.

Definition at line 231 of file SColor.h.

References color.

Referenced by irr::video::SColorf::SColorf(), getAverage(), getData(), getInterpolated(), getInterpolated_quadratic(), getLightness(), getLuminance(), irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), irr::scene::SVertexColorScaleManipulator::operator()(), operator+(), and toOpenGLColor().

## getInterpolated()

SColor irr::video::SColor::getInterpolated | ( | const SColor & | other,
|  | f32 | d ) const

inline

Interpolates the color with a f32 value to another color.

Parameters

  other | Other color
  d | value between 0.0f and 1.0f. d=0 returns other, d=1 returns this, values between interpolate.

Returns
  Interpolated color.

Definition at line 340 of file SColor.h.

References SColor(), irr::core::clamp(), getAlpha(), getBlue(), getGreen(), getRed(), and irr::core::round32().

Referenced by irr::scene::SVertexColorInterpolateLinearManipulator::operator()().

## getInterpolated_quadratic()

SColor irr::video::SColor::getInterpolated_quadratic | ( | const SColor & | c1,
|  | const SColor & | c2,
|  | f32 | d ) const

inline

Returns interpolated color. ( quadratic ).

Parameters

  c1 | first color to interpolate with
  c2 | second color to interpolate with
  d | value between 0.0f and 1.0f.

Definition at line 354 of file SColor.h.

References SColor(), irr::core::clamp(), irr::core::floor32(), getAlpha(), getBlue(), getGreen(), and getRed().

Referenced by irr::scene::SVertexColorInterpolateQuadraticManipulator::operator()().

## getLightness()

f32 irr::video::SColor::getLightness | ( |  | ) | const

inline

Get lightness of the color in the range [0,255].

Definition at line 239 of file SColor.h.

References getBlue(), getGreen(), getRed(), irr::core::max_(), and irr::core::min_().

Referenced by irr::scene::SVertexColorDesaturateToLightnessManipulator::operator()().

## getLuminance()

f32 irr::video::SColor::getLuminance | ( |  | ) | const

inline

Get luminance of the color in the range [0,255].

Definition at line 245 of file SColor.h.

References getBlue(), getGreen(), and getRed().

Referenced by irr::scene::SVertexColorDesaturateToLuminanceManipulator::operator()().

## getRed()

u32 irr::video::SColor::getRed | ( |  | ) | const

inline

Returns the red component of the color.

Returns
  Value between 0 and 255, specifying how red the color is. 0 means no red, 255 means full red.

Definition at line 226 of file SColor.h.

References color.

Referenced by irr::video::SColorf::SColorf(), getAverage(), getData(), getInterpolated(), getInterpolated_quadratic(), getLightness(), getLuminance(), irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), irr::scene::SVertexColorScaleManipulator::operator()(), operator+(), and toOpenGLColor().

## operator!=()

bool irr::video::SColor::operator!= | ( | const SColor & | other | ) | const

inline

Compares the color to another color.

Returns
  True if the colors are different, and false if they are the same.

Definition at line 319 of file SColor.h.

References SColor(), and color.

## operator+()

SColor irr::video::SColor::operator+ | ( | const SColor & | other | ) | const

inline

Adds two colors, result is clamped to 0..255 values.

Parameters

  other | Color to add to this color

Returns
  Addition of the two colors, clamped to 0..255 values

Definition at line 328 of file SColor.h.

References SColor(), getAlpha(), getBlue(), getGreen(), getRed(), and irr::core::min_().

## operator<()

bool irr::video::SColor::operator< | ( | const SColor & | other | ) | const

inline

comparison operator

Returns
  True if this color is smaller than the other one

Definition at line 323 of file SColor.h.

References SColor(), and color.

## operator==()

bool irr::video::SColor::operator== | ( | const SColor & | other | ) | const

inline

Compares the color to another color.

Returns
  True if the colors are the same, and false if not.

Definition at line 315 of file SColor.h.

References SColor(), and color.

## set() [1/2]

void irr::video::SColor::set | ( | u32 | a,
|  | u32 | r,
|  | u32 | g,
|  | u32 | b )

inline

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.

Parameters

  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.

Definition at line 307 of file SColor.h.

References color.

Referenced by setData().

## set() [2/2]

void irr::video::SColor::set | ( | u32 | col | ) |

inline

Definition at line 311 of file SColor.h.

References color.

## setAlpha()

void irr::video::SColor::setAlpha | ( | u32 | a | ) |

inline

Sets the alpha component of the Color.

The alpha component defines how transparent a color should be.

Parameters

  a | The alpha value of the color. 0 is fully transparent, 255 is fully opaque.

Definition at line 259 of file SColor.h.

References color.

Referenced by irr::scene::SVertexColorSetAlphaManipulator::operator()().

## setBlue()

void irr::video::SColor::setBlue | ( | u32 | b | ) |

inline

Sets the blue component of the Color.

Parameters

  b | Has to be a value between 0 and 255. 0 means no blue, 255 means full blue.

Definition at line 274 of file SColor.h.

References color.

Referenced by irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), and irr::scene::SVertexColorScaleManipulator::operator()().

## setData()

void irr::video::SColor::setData | ( | const void * | data,
|  | ECOLOR_FORMAT | format )

inline

set the color by expecting data in the given format

Parameters

  data | must point to valid memory containing color information in the given format
  format | tells the format in which data is available

Definition at line 378 of file SColor.h.

References irr::video::A1R5G5B5toA8R8G8B8(), color, irr::video::ECF_A1R5G5B5, irr::video::ECF_A8R8G8B8, irr::video::ECF_R5G6B5, irr::video::ECF_R8G8B8, irr::video::R5G6B5toA8R8G8B8(), and set().

## setGreen()

void irr::video::SColor::setGreen | ( | u32 | g | ) |

inline

Sets the green component of the Color.

Parameters

  g | Has to be a value between 0 and 255. 0 means no green, 255 means full green.

Definition at line 269 of file SColor.h.

References color.

Referenced by irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), and irr::scene::SVertexColorScaleManipulator::operator()().

## setRed()

void irr::video::SColor::setRed | ( | u32 | r | ) |

inline

Sets the red component of the Color.

Parameters

  r | Has to be a value between 0 and 255. 0 means no red, 255 means full red.

Definition at line 264 of file SColor.h.

References color.

Referenced by irr::scene::SVertexColorBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorInvertManipulator::operator()(), and irr::scene::SVertexColorScaleManipulator::operator()().

## toA1R5G5B5()

u16 irr::video::SColor::toA1R5G5B5 | ( |  | ) | const

inline

Calculates a 16 bit A1R5G5B5 value of this color.

Returns
  16 bit A1R5G5B5 value of this color.

Definition at line 278 of file SColor.h.

References irr::video::A8R8G8B8toA1R5G5B5(), and color.

## toOpenGLColor()

void irr::video::SColor::toOpenGLColor | ( | u8 * | dest | ) | const

inline

Converts color to OpenGL color format.

From ARGB to RGBA in 4 byte components for endian aware passing to OpenGL

Parameters

  dest | address where the 4x8 bit OpenGL color is stored.

Definition at line 284 of file SColor.h.

References getAlpha(), getBlue(), getGreen(), and getRed().

## Member Data Documentation

## color

u32 irr::video::SColor::color

color in A8R8G8B8 Format

Definition at line 447 of file SColor.h.

Referenced by SColor(), SColor(), getAlpha(), getBlue(), getData(), getGreen(), getRed(), operator!=(), operator<(), operator==(), set(), set(), setAlpha(), setBlue(), setData(), setGreen(), setRed(), and toA1R5G5B5().

The documentation for this class was generated from the following file:

- SColor.h

- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0