LLGL 0.05 Beta
Loading...
Searching...
No Matches
Color.h File Reference
#include <LLGL/Export.h>
#include <LLGL/Tags.h>
#include <LLGL/Trap.h>
#include <algorithm>
#include <type_traits>
#include <cstdint>
#include <stdexcept>

Classes

class  LLGL::Color< T, N >
 Base color class with N components. More...

Namespaces

namespace  LLGL

Functions

template<typename T>
T LLGL::MaxColorValue ()
 Returns the maximal color value for the data type T. By default 1.
template<>
std::uint8_t LLGL::MaxColorValue< std::uint8_t > ()
 Specialized version. For unsigned 8-bit integers, the return value is 255.
template<>
bool LLGL::MaxColorValue< bool > ()
 Specialized version. For booleans, the return value is true.
template<typename Dst, typename Src>
Dst LLGL::CastColorValue (const Src &value)
 Casts the specified color value and transforms it from the source data type range to the destination data type range.
template<>
bool LLGL::CastColorValue< bool, bool > (const bool &value)
 Specialized template which merely passes the input value as output.
template<>
float LLGL::CastColorValue< float, float > (const float &value)
 Specialized template which merely passes the input value as output.
template<>
double LLGL::CastColorValue< double, double > (const double &value)
 Specialized template which merely passes the input value as output.
template<>
std::uint8_t LLGL::CastColorValue< std::uint8_t, std::uint8_t > (const std::uint8_t &value)
 Specialized template which merely passes the input value as output.
template<typename T, std::size_t N>
Color< T, N > LLGL::operator+ (const Color< T, N > &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator- (const Color< T, N > &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator* (const Color< T, N > &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator/ (const Color< T, N > &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator* (const Color< T, N > &lhs, const T &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator* (const T &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator/ (const Color< T, N > &lhs, const T &rhs)
template<typename T, std::size_t N>
Color< T, N > LLGL::operator/ (const T &lhs, const Color< T, N > &rhs)
template<typename T, std::size_t N>
bool LLGL::operator== (const Color< T, N > &lhs, const Color< T, N > &rhs)
 Returns true if all components of both colors 'lhs' and 'rhs' are equal.
template<typename T, std::size_t N>
bool LLGL::operator!= (const Color< T, N > &lhs, const Color< T, N > &rhs)
 Returns true if any component of both colors 'lhs' and 'rhs' are unequal.