|
|
- #pragma once
-
- #include "../common.h"
-
- namespace esphome {
- namespace xiaomi {
- namespace bslamp2 {
-
- /**
- * This custom LightState class is used to provide access to the protected
- * LightTranformer information in the LightState class.
- *
- * This class is used by the ColorTransitionHandler class to inspect if
- * an ongoing light color transition is active in the LightState object.
- */
- class XiaomiBslamp2LightState : public light::LightState, public LightStateTransformerInspector
- {
- public:
- XiaomiBslamp2LightState(const std::string &name, XiaomiBslamp2LightOutput *output) : light::LightState(name, output) {
- output->set_transformer_inspector(this);
- }
-
- bool is_active() { return transformer_ != nullptr; }
- bool is_transition() { return transformer_->is_transition(); }
- light::LightColorValues get_end_values() { return transformer_->get_end_values(); }
- float get_progress() { return transformer_->get_progress(); }
- };
-
- } // namespace bslamp2
- } // namespace xiaomi
- } // namespace esphome
|