FastLED 3.10.8
Loading...
Searching...
No Matches
rgbw.cpp.hpp File Reference
#include "fl/stl/stdint.h"
#include "fl/system/fastled.h"
#include "fl/gfx/rgbw.h"
#include "fl/log/log.h"
#include "fl/stl/singleton.h"
+ Include dependency graph for rgbw.cpp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::anonymous_namespace{rgbw.cpp.hpp}::NamedGamut
 
struct  fl::anonymous_namespace{rgbw.cpp.hpp}::Rgb2RgbwUserState
 
struct  fl::anonymous_namespace{rgbw.cpp.hpp}::RgbwColorimetricState
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::anonymous_namespace{rgbw.cpp.hpp}
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 
namespace  fl::detail::anonymous_namespace{rgbw.cpp.hpp}
 

Macros

#define FASTLED_INTERNAL
 

Functions

void fl::disable_rgbw_colorimetric_lut () FL_NO_EXCEPT
 
u8 fl::anonymous_namespace{rgbw.cpp.hpp}::divide_by_3 (u8 x) FL_NO_EXCEPT
 
bool fl::enable_rgbw_colorimetric_lut (int) FL_NO_EXCEPT
 
bool fl::enable_rgbw_colorimetric_lut (int, RgbwLutInterp) FL_NO_EXCEPT
 
void fl::detail::enable_rgbw_conversion () FL_NO_EXCEPT
 Installs the RGBW pixel conversion used by PixelIterator.
 
const DiodeProfile * fl::get_rgbw_colorimetric_profile () FL_NO_EXCEPT
 
void fl::anonymous_namespace{rgbw.cpp.hpp}::invalidate_colorimetric_caches_for (const DiodeProfile *profile) FL_NO_EXCEPT
 
fl::shared_ptr< const DiodeProfile > fl::make_diode_profile (const DiodeProfile &profile) FL_NO_EXCEPT
 
fl::shared_ptr< const DiodeProfile > fl::make_diode_profile (const DiodeProfile &profile, InputGamut g) FL_NO_EXCEPT
 
fl::shared_ptr< const DiodeProfile > fl::make_diode_profile (const DiodeProfile &profile, InputGamut g, const float white_xy[2]) FL_NO_EXCEPT
 
void fl::prepare_rgbw_colorimetric (const Rgbw &) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_colorimetric (const Rgbw &cfg, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_colorimetric (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_colorimetric_boosted (const Rgbw &cfg, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_colorimetric_boosted (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_exact (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 Converts RGB to RGBW using a color transfer method from saturated color channels to white.
 
void fl::rgb_2_rgbw_max_brightness (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 The minimum brigthness of the RGB channels is used to set the W channel.
 
void fl::rgb_2_rgbw_null_white_pixel (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 Converts RGB to RGBW with the W channel set to black, always.
 
void fl::rgb_2_rgbw_user_function (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 
void fl::rgb_2_rgbw_white_boosted (u16 w_color_temperature, u8 r, u8 g, u8 b, u8 r_scale, u8 g_scale, u8 b_scale, u8 *out_r, u8 *out_g, u8 *out_b, u8 *out_w) FL_NO_EXCEPT
 Converts RGB to RGBW with a boosted white channel.
 
bool fl::rgbw_colorimetric_lut_enabled () FL_NO_EXCEPT
 
RgbwConvertFn fl::detail::rgbw_conversion () FL_NO_EXCEPT
 Null until enable_rgbw_conversion() has run.
 
void fl::detail::anonymous_namespace{rgbw.cpp.hpp}::rgbw_convert_pixel (const Rgbw &rgbw, const u8(&raw)[3], const u8(&premix)[3], const u8(&order)[3], u8 *b0, u8 *b1, u8 *b2, u8 *b3) FL_NO_EXCEPT
 
RgbwConvertFn & fl::detail::anonymous_namespace{rgbw.cpp.hpp}::rgbw_convert_slot () FL_NO_EXCEPT
 
u8 fl::anonymous_namespace{rgbw.cpp.hpp}::rgbw_min3 (u8 a, u8 b, u8 c) FL_NO_EXCEPT
 
void fl::rgbw_partial_reorder (EOrderW w_placement, u8 b0, u8 b1, u8 b2, u8 w, u8 *out_b0, u8 *out_b1, u8 *out_b2, u8 *out_b3) FL_NO_EXCEPT
 
void fl::set_input_gamut (DiodeProfile &profile, InputGamut g) FL_NO_EXCEPT
 
void fl::set_input_gamut (DiodeProfile &profile_ref, InputGamut g, const float *white_xy) FL_NO_EXCEPT
 
void fl::set_input_gamut (DiodeProfile *profile, InputGamut g) FL_NO_EXCEPT
 
void fl::set_input_gamut (DiodeProfile *profile, InputGamut g, const float white_xy[2]) FL_NO_EXCEPT
 
void fl::set_rgb_2_rgbw_function (rgb_2_rgbw_function func) FL_NO_EXCEPT
 
void fl::set_rgbw_colorimetric_profile (const DiodeProfile *profile) FL_NO_EXCEPT
 

Variables

constexpr NamedGamut fl::anonymous_namespace{rgbw.cpp.hpp}::kDciP3D60
 
constexpr NamedGamut fl::anonymous_namespace{rgbw.cpp.hpp}::kDciP3D65
 
constexpr NamedGamut fl::anonymous_namespace{rgbw.cpp.hpp}::kRec2020
 
constexpr NamedGamut fl::anonymous_namespace{rgbw.cpp.hpp}::kRec709
 
const DiodeProfile fl::kRgbwDefaultProfile
 

Class Documentation

◆ fl::anonymous_namespace{rgbw.cpp.hpp}::NamedGamut

struct fl::anonymous_namespace{rgbw.cpp.hpp}::NamedGamut
Class Members
float xy_b[2]
float xy_g[2]
float xy_r[2]
float xy_w[2]

◆ fl::anonymous_namespace{rgbw.cpp.hpp}::Rgb2RgbwUserState

struct fl::anonymous_namespace{rgbw.cpp.hpp}::Rgb2RgbwUserState
Class Members
rgb_2_rgbw_function fn = nullptr

◆ fl::anonymous_namespace{rgbw.cpp.hpp}::RgbwColorimetricState

struct fl::anonymous_namespace{rgbw.cpp.hpp}::RgbwColorimetricState
+ Collaboration diagram for fl::anonymous_namespace{rgbw.cpp.hpp}::RgbwColorimetricState:
Class Members
const DiodeProfile * profile = nullptr