CrystalSpace

Public API Reference

csColor Class Reference

A class used to represent a color in RGB space. More...

#include <csutil/cscolor.h>

Inheritance diagram for csColor:

Inheritance graph
[legend]

List of all members.

Public Member Functions

void Add (float r, float g, float b)
 Add given R,G,B components to color.
void Clamp (float r, float g, float b)
 Clamp color to given R,G,B values.
void ClampDown ()
 Make sure color components are not negative.
 csColor (const csColor &c)
 Initialize a color object with an existing color.
 csColor (float v)
 Initialize a color object with same content in R,G,B components.
 csColor (float r, float g, float b)
 Initialize a color object with given R,G,B components.
 csColor ()
 Initialize a color object (contents undefined).
bool IsBlack (float threshold) const
 Check if color is all black (red green and blue all below threshold).
bool IsBlack () const
 Check if color is all black (red green and blue all 0).
float Luminance () const
 Return luminance of pixel (assuming sRGB color space).
csColor operator * (const float f)
 Multiply this color by a scalar, return result.
csColoroperator *= (const csColor &c)
 Multiply another color with this one.
csColoroperator *= (float f)
 Multiply this color by a scalar value.
bool operator!= (const csColor &c) const
 Compare inequality of two colors.
csColoroperator+= (const csColor &c)
 Add another color to this one.
csColoroperator-= (const csColor &c)
 Subtract another color to this one.
csColoroperator= (const csColor &c)
 Assign one color object to another.
bool operator== (const csColor &c) const
 Compare equality of two colors.
void Set (const csColor &c)
 Set color to given color.
void Set (float r, float g, float b)
 Set color to given R,G,B components.
void Subtract (float r, float g, float b)
 Subtract given R,G,B components from color.

Public Attributes

float blue
 Blue (0..1).
float green
 Green (0..1).
float red
 Red (0..1).


Detailed Description

A class used to represent a color in RGB space.

This class is similar to csRGBpixel and csRGBcolor except that it uses floating-point values to store R,G,B values.

Definition at line 33 of file cscolor.h.


Constructor & Destructor Documentation

csColor::csColor (  )  [inline]

Initialize a color object (contents undefined).

Definition at line 44 of file cscolor.h.

csColor::csColor ( float  r,
float  g,
float  b 
) [inline]

Initialize a color object with given R,G,B components.

Definition at line 46 of file cscolor.h.

csColor::csColor ( float  v  )  [inline]

Initialize a color object with same content in R,G,B components.

Definition at line 49 of file cscolor.h.

csColor::csColor ( const csColor c  )  [inline]

Initialize a color object with an existing color.

Definition at line 52 of file cscolor.h.

References blue, green, and red.


Member Function Documentation

void csColor::Add ( float  r,
float  g,
float  b 
) [inline]

Add given R,G,B components to color.

Definition at line 115 of file cscolor.h.

References blue, green, and red.

void csColor::Clamp ( float  r,
float  g,
float  b 
) [inline]

Clamp color to given R,G,B values.

Definition at line 61 of file cscolor.h.

References blue, green, and red.

void csColor::ClampDown (  )  [inline]

Make sure color components are not negative.

Definition at line 68 of file cscolor.h.

References blue, green, and red.

bool csColor::IsBlack ( float  threshold  )  const [inline]

Check if color is all black (red green and blue all below threshold).

Definition at line 80 of file cscolor.h.

References blue, green, and red.

bool csColor::IsBlack (  )  const [inline]

Check if color is all black (red green and blue all 0).

Definition at line 75 of file cscolor.h.

References blue, green, and red.

float csColor::Luminance (  )  const [inline]

Return luminance of pixel (assuming sRGB color space).

Definition at line 121 of file cscolor.h.

References blue, green, and red.

csColor csColor::operator * ( const float  f  )  [inline]

Multiply this color by a scalar, return result.

Definition at line 100 of file cscolor.h.

References blue, green, and red.

csColor& csColor::operator *= ( const csColor c  )  [inline]

Multiply another color with this one.

Definition at line 97 of file cscolor.h.

References blue, green, and red.

csColor& csColor::operator *= ( float  f  )  [inline]

Multiply this color by a scalar value.

Reimplemented in csColor4.

Definition at line 88 of file cscolor.h.

References blue, green, and red.

bool csColor::operator!= ( const csColor c  )  const [inline]

Compare inequality of two colors.

Definition at line 112 of file cscolor.h.

References blue, green, and red.

csColor& csColor::operator+= ( const csColor c  )  [inline]

Add another color to this one.

Reimplemented in csColor4.

Definition at line 91 of file cscolor.h.

References blue, green, and red.

csColor& csColor::operator-= ( const csColor c  )  [inline]

Subtract another color to this one.

Reimplemented in csColor4.

Definition at line 94 of file cscolor.h.

References blue, green, and red.

csColor& csColor::operator= ( const csColor c  )  [inline]

Assign one color object to another.

Reimplemented in csColor4.

Definition at line 85 of file cscolor.h.

References blue, green, and red.

bool csColor::operator== ( const csColor c  )  const [inline]

Compare equality of two colors.

Definition at line 109 of file cscolor.h.

References blue, green, and red.

void csColor::Set ( const csColor c  )  [inline]

Set color to given color.

Reimplemented in csColor4.

Definition at line 58 of file cscolor.h.

References blue, green, and red.

void csColor::Set ( float  r,
float  g,
float  b 
) [inline]

Set color to given R,G,B components.

Reimplemented in csColor4.

Definition at line 55 of file cscolor.h.

References blue, green, and red.

Referenced by csShaderVariable::GetValue().

void csColor::Subtract ( float  r,
float  g,
float  b 
) [inline]

Subtract given R,G,B components from color.

Definition at line 118 of file cscolor.h.

References blue, green, and red.


Member Data Documentation

float csColor::red


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.2.1 by doxygen 1.5.3