Gosu::Color Class Reference

Represents an RGBA color value with 8 bits for each channel. More...

List of all members.

Public Types

typedef std::tr1::uint8_t Channel

Public Member Functions

 Color ()
 The default constructor does not initialize the color to any value.
 Color (unsigned argb)
 Conversion constructor for literals of the form 0xaarrggbb.
 Color (Channel red, Channel green, Channel blue)
 Color (Channel alpha, Channel red, Channel green, Channel blue)
Channel red () const
Channel green () const
Channel blue () const
Channel alpha () const
void setRed (Channel value)
void setGreen (Channel value)
void setBlue (Channel value)
void setAlpha (Channel value)
double hue () const
 Returns the hue of the color, in the usual range of 0..360.
void setHue (double h)
 Changes the current color so hue() will return h.
double saturation () const
 Returns the saturation of the color, in the range of 0..1.
void setSaturation (double s)
 Changes the current color so saturation() will return s.
double value () const
 Returns the value (brightness) of the color, in the range of 0..1.
void setValue (double v)
 Changes the current color so value() will return v.
std::tr1::uint32_t argb () const
 Returns the color in 0xaarrggbb representation.
std::tr1::uint32_t bgr () const
 Returns the color in 0x00bbggrr representation. Useful for Win32 programming.
std::tr1::uint32_t abgr () const
 Returns the color in 0xaabbggrr representation.
std::tr1::uint32_t gl () const
 Returns the internal representation of the color (RGBA in memory).

Static Public Member Functions

static Color fromHSV (double h, double s, double v)
 Constructs a color from the given hue/saturation/value triple.
static Color fromAHSV (Channel alpha, double h, double s, double v)

Static Public Attributes

static const unsigned GL_FORMAT = 0x1908
static const Color NONE
static const Color BLACK
static const Color GRAY
static const Color WHITE
static const Color AQUA
static const Color RED
static const Color GREEN
static const Color BLUE
static const Color YELLOW
static const Color FUCHSIA
static const Color CYAN

Detailed Description

Represents an RGBA color value with 8 bits for each channel.

Can be implicitly constructed from literals of the form 0xaarrggbb. Has fast value semantics. The four-byte layout in memory is RGBA. On Big-Endian machines the unsigned int interpretation is 0xrrggbbaa, on Little-Endian machines it is 0xaabbggrr.

Definition at line 18 of file Color.hpp.


Member Typedef Documentation

typedef std::tr1::uint8_t Gosu::Color::Channel

Definition at line 28 of file Color.hpp.


Constructor & Destructor Documentation

Gosu::Color::Color ( )

The default constructor does not initialize the color to any value.

Definition at line 32 of file Color.hpp.

Referenced by Color().

Gosu::Color::Color ( unsigned  argb)

Conversion constructor for literals of the form 0xaarrggbb.

Definition at line 37 of file Color.hpp.

References Color().

Gosu::Color::Color ( Channel  red,
Channel  green,
Channel  blue 
)

Definition at line 43 of file Color.hpp.

References Color().

Gosu::Color::Color ( Channel  alpha,
Channel  red,
Channel  green,
Channel  blue 
)

Definition at line 48 of file Color.hpp.


Member Function Documentation

std::tr1::uint32_t Gosu::Color::abgr ( ) const

Returns the color in 0xaabbggrr representation.

Definition at line 136 of file Color.hpp.

References alpha(), blue(), green(), and red().

Channel Gosu::Color::alpha ( ) const

Definition at line 76 of file Color.hpp.

Referenced by abgr(), and argb().

std::tr1::uint32_t Gosu::Color::argb ( ) const

Returns the color in 0xaarrggbb representation.

Definition at line 124 of file Color.hpp.

References alpha(), blue(), green(), and red().

std::tr1::uint32_t Gosu::Color::bgr ( ) const

Returns the color in 0x00bbggrr representation. Useful for Win32 programming.

Definition at line 130 of file Color.hpp.

References blue(), green(), and red().

Channel Gosu::Color::blue ( ) const

Definition at line 71 of file Color.hpp.

Referenced by abgr(), argb(), and bgr().

static Color Gosu::Color::fromAHSV ( Channel  alpha,
double  h,
double  s,
double  v 
)
static
static Color Gosu::Color::fromHSV ( double  h,
double  s,
double  v 
)
static

Constructs a color from the given hue/saturation/value triple.

Ranges of these values are given as 0..360, 0..1 and 0..1, respectively. The alpha value is set to 1 from this method.

std::tr1::uint32_t Gosu::Color::gl ( ) const

Returns the internal representation of the color (RGBA in memory).

Definition at line 142 of file Color.hpp.

Referenced by Gosu::operator!=(), Gosu::operator<(), and Gosu::operator==().

Channel Gosu::Color::green ( ) const

Definition at line 66 of file Color.hpp.

Referenced by abgr(), argb(), and bgr().

double Gosu::Color::hue ( ) const

Returns the hue of the color, in the usual range of 0..360.

Channel Gosu::Color::red ( ) const

Definition at line 61 of file Color.hpp.

Referenced by abgr(), argb(), and bgr().

double Gosu::Color::saturation ( ) const

Returns the saturation of the color, in the range of 0..1.

void Gosu::Color::setAlpha ( Channel  value)

Definition at line 99 of file Color.hpp.

void Gosu::Color::setBlue ( Channel  value)

Definition at line 93 of file Color.hpp.

void Gosu::Color::setGreen ( Channel  value)

Definition at line 87 of file Color.hpp.

void Gosu::Color::setHue ( double  h)

Changes the current color so hue() will return h.

void Gosu::Color::setRed ( Channel  value)

Definition at line 81 of file Color.hpp.

void Gosu::Color::setSaturation ( double  s)

Changes the current color so saturation() will return s.

void Gosu::Color::setValue ( double  v)

Changes the current color so value() will return v.

double Gosu::Color::value ( ) const

Returns the value (brightness) of the color, in the range of 0..1.


Member Data Documentation

const Color Gosu::Color::AQUA
static

Definition at line 152 of file Color.hpp.

const Color Gosu::Color::BLACK
static

Definition at line 148 of file Color.hpp.

const Color Gosu::Color::BLUE
static

Definition at line 155 of file Color.hpp.

const Color Gosu::Color::CYAN
static

Definition at line 158 of file Color.hpp.

const Color Gosu::Color::FUCHSIA
static

Definition at line 157 of file Color.hpp.

const unsigned Gosu::Color::GL_FORMAT = 0x1908
static

Definition at line 29 of file Color.hpp.

const Color Gosu::Color::GRAY
static

Definition at line 149 of file Color.hpp.

const Color Gosu::Color::GREEN
static

Definition at line 154 of file Color.hpp.

const Color Gosu::Color::NONE
static

Definition at line 147 of file Color.hpp.

const Color Gosu::Color::RED
static

Definition at line 153 of file Color.hpp.

const Color Gosu::Color::WHITE
static

Definition at line 150 of file Color.hpp.

const Color Gosu::Color::YELLOW
static

Definition at line 156 of file Color.hpp.


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