|
FastLED 3.10.8
|
Functions for red, green, blue, white (RGBW) output.
Definition in file rgbw.h.
#include "fl/stl/stdint.h"#include "eorder.h"#include "fl/stl/compiler_control.h"#include "fl/stl/noexcept.h"#include "fl/stl/shared_ptr.h"
Include dependency graph for rgbw.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | fl::detail::RgbwNoEncoder |
| Tag for constructing an inactive Rgbw without linking the RGBW encoder. More... | |
| struct | fl::DiodeProfile |
| struct | fl::Rgbw |
| struct | fl::RgbwDefault |
| struct | fl::RgbwInvalid |
| struct | fl::RgbwWhiteIsOff |
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
| namespace | fl::detail |
Compile-time linker keep-alive hook for a single fl::Bus. | |
Typedefs | |
| typedef void(* | fl::rgb_2_rgbw_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) |
| using | fl::detail::RgbwConvertFn |
| Per-pixel RGBW conversion: raw source-order RGB + premixed scale -> 4 wire bytes. | |
Enumerations | |
| enum | { fl::kRGBWDefaultColorTemp = 6000 } |
| enum class | fl::InputGamut : u8 { fl::Native = 0 , fl::Rec709 , fl::Rec2020 , fl::DciP3D65 , fl::DciP3D60 } |
| enum class | fl::RGBW_MODE : u8 { fl::kRGBWInvalid , fl::kRGBWNullWhitePixel , fl::kRGBWExactColors , fl::kRGBWBoostedWhite , fl::kRGBWMaxBrightness , fl::kRGBWColorimetric , fl::kRGBWColorimetricBoosted , fl::kRGBWUserFunction } |
| enum class | fl::RgbwLutInterp : u8 { fl::Bilinear = 0 , fl::Hermite = 1 } |
Functions | |
| void | fl::disable_rgbw_colorimetric_lut () 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. | |
| fl::FL_DEPRECATED ("Pass the profile by reference: set_input_gamut(profile, g)") void set_input_gamut(DiodeProfile *profile | |
| fl::FL_DEPRECATED ("Pass the profile by reference: set_input_gamut(profile, g, white_xy)") void set_input_gamut(DiodeProfile *profile | |
| const DiodeProfile * | fl::get_rgbw_colorimetric_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 |
| FASTLED_FORCE_INLINE void | fl::rgb_2_rgbw (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 |
| Converts RGB to RGBW using one of the functions. | |
| FASTLED_FORCE_INLINE void | fl::rgb_2_rgbw (RGBW_MODE mode, 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 |
| template<RGBW_MODE MODE> | |
| FASTLED_FORCE_INLINE void | fl::rgb_2_rgbw (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 (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 |
| constexpr unsigned long | fl::rgbw_colorimetric_lut_memory_bytes (int grid_n, RgbwLutInterp interp) FL_NO_EXCEPT |
| RgbwConvertFn | fl::detail::rgbw_conversion () FL_NO_EXCEPT |
| Null until enable_rgbw_conversion() has run. | |
| 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_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 | |
| InputGamut | fl::g |
| struct fl::detail::RgbwNoEncoder |