Flutter Impeller
color.h File Reference
#include <stdint.h>
#include <algorithm>
#include <array>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <type_traits>
#include "impeller/geometry/scalar.h"
#include "impeller/geometry/type_traits.h"

Go to the source code of this file.

Classes

struct  impeller::ColorMatrix
 
struct  impeller::Color
 
struct  impeller::ColorHSB
 

Namespaces

 impeller
 
 std
 

Macros

#define IMPELLER_FOR_EACH_BLEND_MODE(V)
 

Enumerations

enum  impeller::YUVColorSpace {
  impeller::YUVColorSpace::kBT601LimitedRange,
  impeller::YUVColorSpace::kBT601FullRange
}
 
enum  impeller::BlendMode : uint8_t {
  impeller::BlendMode::kClear = 0,
  impeller::BlendMode::kSource,
  impeller::BlendMode::kDestination,
  impeller::BlendMode::kSourceOver,
  impeller::BlendMode::kDestinationOver,
  impeller::BlendMode::kSourceIn,
  impeller::BlendMode::kDestinationIn,
  impeller::BlendMode::kSourceOut,
  impeller::BlendMode::kDestinationOut,
  impeller::BlendMode::kSourceATop,
  impeller::BlendMode::kDestinationATop,
  impeller::BlendMode::kXor,
  impeller::BlendMode::kPlus,
  impeller::BlendMode::kModulate,
  impeller::BlendMode::kScreen,
  impeller::BlendMode::kOverlay,
  impeller::BlendMode::kDarken,
  impeller::BlendMode::kLighten,
  impeller::BlendMode::kColorDodge,
  impeller::BlendMode::kColorBurn,
  impeller::BlendMode::kHardLight,
  impeller::BlendMode::kSoftLight,
  impeller::BlendMode::kDifference,
  impeller::BlendMode::kExclusion,
  impeller::BlendMode::kMultiply,
  impeller::BlendMode::kHue,
  impeller::BlendMode::kSaturation,
  impeller::BlendMode::kColor,
  impeller::BlendMode::kLuminosity,
  impeller::BlendMode::kLast = kLuminosity
}
 

Functions

const char * impeller::BlendModeToString (BlendMode blend_mode)
 
template<class T , class = std::enable_if_t<std::is_arithmetic_v<T>>>
constexpr Color impeller::operator+ (T value, const Color &c)
 
template<class T , class = std::enable_if_t<std::is_arithmetic_v<T>>>
constexpr Color impeller::operator- (T value, const Color &c)
 
template<class T , class = std::enable_if_t<std::is_arithmetic_v<T>>>
constexpr Color impeller::operator* (T value, const Color &c)
 
template<class T , class = std::enable_if_t<std::is_arithmetic_v<T>>>
constexpr Color impeller::operator/ (T value, const Color &c)
 
std::string impeller::ColorToString (const Color &color)
 
std::ostream & std::operator<< (std::ostream &out, const impeller::Color &c)
 

Macro Definition Documentation

◆ IMPELLER_FOR_EACH_BLEND_MODE

#define IMPELLER_FOR_EACH_BLEND_MODE (   V)
Value:
V(Clear) \
V(Source) \
V(Destination) \
V(SourceOver) \
V(DestinationOver) \
V(SourceIn) \
V(DestinationIn) \
V(SourceOut) \
V(DestinationOut) \
V(SourceATop) \
V(DestinationATop) \
V(Xor) \
V(Plus) \
V(Modulate) \
V(Screen) \
V(Overlay) \
V(Darken) \
V(Lighten) \
V(ColorDodge) \
V(ColorBurn) \
V(HardLight) \
V(SoftLight) \
V(Difference) \
V(Exclusion) \
V(Multiply) \
V(Hue) \
V(Color) \

Definition at line 19 of file color.h.

impeller::Luminosity
static constexpr Scalar Luminosity(Vector3 color)
Definition: color.cc:140
impeller::Saturation
static constexpr Scalar Saturation(Vector3 color)
Definition: color.cc:166