mirror of
https://github.com/esphome/esphome.git
synced 2025-07-28 14:16:40 +00:00
[light] Fix transitions with `lerp
` (#9269)
This commit is contained in:
parent
8a9769d4e9
commit
af0bb634c6
@ -86,16 +86,16 @@ class LightColorValues {
|
||||
static LightColorValues lerp(const LightColorValues &start, const LightColorValues &end, float completion) {
|
||||
LightColorValues v;
|
||||
v.set_color_mode(end.color_mode_);
|
||||
v.set_state(esphome::lerp(completion, start.get_state(), end.get_state()));
|
||||
v.set_brightness(esphome::lerp(completion, start.get_brightness(), end.get_brightness()));
|
||||
v.set_color_brightness(esphome::lerp(completion, start.get_color_brightness(), end.get_color_brightness()));
|
||||
v.set_red(esphome::lerp(completion, start.get_red(), end.get_red()));
|
||||
v.set_green(esphome::lerp(completion, start.get_green(), end.get_green()));
|
||||
v.set_blue(esphome::lerp(completion, start.get_blue(), end.get_blue()));
|
||||
v.set_white(esphome::lerp(completion, start.get_white(), end.get_white()));
|
||||
v.set_color_temperature(esphome::lerp(completion, start.get_color_temperature(), end.get_color_temperature()));
|
||||
v.set_cold_white(esphome::lerp(completion, start.get_cold_white(), end.get_cold_white()));
|
||||
v.set_warm_white(esphome::lerp(completion, start.get_warm_white(), end.get_warm_white()));
|
||||
v.set_state(std::lerp(start.get_state(), end.get_state(), completion));
|
||||
v.set_brightness(std::lerp(start.get_brightness(), end.get_brightness(), completion));
|
||||
v.set_color_brightness(std::lerp(start.get_color_brightness(), end.get_color_brightness(), completion));
|
||||
v.set_red(std::lerp(start.get_red(), end.get_red(), completion));
|
||||
v.set_green(std::lerp(start.get_green(), end.get_green(), completion));
|
||||
v.set_blue(std::lerp(start.get_blue(), end.get_blue(), completion));
|
||||
v.set_white(std::lerp(start.get_white(), end.get_white(), completion));
|
||||
v.set_color_temperature(std::lerp(start.get_color_temperature(), end.get_color_temperature(), completion));
|
||||
v.set_cold_white(std::lerp(start.get_cold_white(), end.get_cold_white(), completion));
|
||||
v.set_warm_white(std::lerp(start.get_warm_white(), end.get_warm_white(), completion));
|
||||
return v;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user