DISTRHO Plugin Framework
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Color Struct Reference

#include <Color.hpp>

Public Member Functions

 Color () noexcept
 
 Color (int red, int green, int blue, float alpha=1.0f) noexcept
 
 Color (float red, float green, float blue, float alpha=1.0f) noexcept
 
 Color (const Color &color) noexcept
 
Coloroperator= (const Color &color) noexcept
 
 Color (const Color &color1, const Color &color2, float u) noexcept
 
Color withAlpha (float alpha) noexcept
 
void interpolate (const Color &other, float u) noexcept
 
bool isEqual (const Color &color, bool withAlpha=true) noexcept
 
bool isNotEqual (const Color &color, bool withAlpha=true) noexcept
 
bool operator== (const Color &color) noexcept
 
bool operator!= (const Color &color) noexcept
 
void fixBounds () noexcept
 
void setFor (const GraphicsContext &context, bool includeAlpha=false)
 
 Color (const NVGcolor &) noexcept
 
 operator NVGcolor () const noexcept
 

Static Public Member Functions

static Color fromHSL (float hue, float saturation, float lightness, float alpha=1.0f)
 
static Color fromHTML (const char *rgb, float alpha=1.0f) noexcept
 

Public Attributes

union {
   float   rgba [4]
 
   struct {
      float   red
 
      float   green
 
      float   blue
 
      float   alpha
 
   } 
 
}; 
 

Detailed Description

A color made from red, green, blue and alpha floating-point values in [0..1] range.

Constructor & Destructor Documentation

◆ Color() [1/5]

Color::Color ( )
noexcept

Create solid black color.

◆ Color() [2/5]

Color::Color ( int  red,
int  green,
int  blue,
float  alpha = 1.0f 
)
noexcept

Create a color from red, green, blue and alpha numeric values. All values except alpha must be in [0..255] range, with alpha in [0..1] range.

◆ Color() [3/5]

Color::Color ( float  red,
float  green,
float  blue,
float  alpha = 1.0f 
)
noexcept

Create a color from red, green, blue and alpha floating-point values. All values must in [0..1] range.

◆ Color() [4/5]

Color::Color ( const Color color)
noexcept

Create a color by copying another color.

◆ Color() [5/5]

Color::Color ( const Color color1,
const Color color2,
float  u 
)
noexcept

Create a color by linearly interpolating two other colors.

Member Function Documentation

◆ withAlpha()

Color Color::withAlpha ( float  alpha)
noexcept

Create a new color based on this one but with a different alpha value.

◆ fromHSL()

static Color Color::fromHSL ( float  hue,
float  saturation,
float  lightness,
float  alpha = 1.0f 
)
static

Create a color specified by hue, saturation and lightness. Values must in [0..1] range.

◆ fromHTML()

static Color Color::fromHTML ( const char *  rgb,
float  alpha = 1.0f 
)
staticnoexcept

Create a color from a HTML string like "#333" or "#112233".

◆ interpolate()

void Color::interpolate ( const Color other,
float  u 
)
noexcept

Linearly interpolate this color against another.

◆ isEqual()

bool Color::isEqual ( const Color color,
bool  withAlpha = true 
)
noexcept

Check if this color matches another.

Note
Comparison is done within 8-bit color space.

◆ fixBounds()

void Color::fixBounds ( )
noexcept

Fix color bounds if needed.

◆ setFor()

void Color::setFor ( const GraphicsContext context,
bool  includeAlpha = false 
)

Set this color for use in the next drawing operation for the provided context.

Member Data Documentation

◆ @1

union { ... }

Direct access to the color values.


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