#include <modm/ui/animation/base.hpp>
|  | 
| using | TimeType = typename FastRamp< T >::StepType | 
|  | 
| using | Handler = void (*)(T) | 
|  | 
|  | 
|  | Animation (T &value, Handler handler=nullptr) | 
|  | 
| void | attachCallback (Handler handler) | 
|  | 
| virtual void | setValue (T value) override | 
|  | stop any running animation and set a value. 
 | 
|  | 
| T | getValue () const | 
|  | 
| virtual bool | isAnimating () const override | 
|  | 
| virtual void | stop () override | 
|  | stops any running animation. 
 | 
|  | 
| virtual bool | animateTo (T value, uint32_t time) override | 
|  | 
| virtual bool | update () override | 
|  | 
template<typename T = uint8_t>
class modm::ui::Animation< T >
This class allows the linear animation of one value over time.
Be aware that the algorithm for 8-bit types is optimized for low computational costs, developed for fast LED fading (
- See also
- modm::ui::Led). Therefore the animation length is limited to- 128ms * value_difference, which is about 32s over the full 8-bit range. If you specify a longer time in this case, the animation simply finishes before. If this is a problem, consider using a 16-bit type, which does not have this limitation.
- Author
- Niklas Hauser 
template<typename T  = uint8_t> 
      
        
          | modm::ui::Animation< T >::Animation | ( | T & | value, | 
        
          |  |  | Handler | handler = nullptr | 
        
          |  | ) |  |  | 
      
 
- Parameters
- 
  
    | value | a reference to the value to be animated |  | handler | this function will be called whenever the value has been changed |  
 
 
 
template<typename T  = uint8_t> 
  
  | 
        
          | virtual bool modm::ui::Animation< T >::animateTo | ( | T | value, |  
          |  |  | uint32_t | time |  
          |  | ) |  |  |  | overridevirtual | 
 
Animate from the current value to a new value in the specified ms. 
- Returns
- trueif animation started,- falseif otherwise
Implements modm::ui::AnimationBase< T >.
 
 
template<typename T  = uint8_t> 
      
        
          | void modm::ui::Animation< T >::attachCallback | ( | Handler | handler | ) |  | 
      
 
- Parameters
- 
  
    | handler | this function will be called whenever the value has been changed |  
 
 
 
template<typename T  = uint8_t> 
      
        
          | T modm::ui::Animation< T >::getValue | ( |  | ) | const | 
      
 
 
template<typename T  = uint8_t> 
  
  | 
        
          | virtual bool modm::ui::Animation< T >::isAnimating | ( |  | ) | const |  | overridevirtual | 
 
 
template<typename T  = uint8_t> 
  
  | 
        
          | virtual bool modm::ui::Animation< T >::update | ( |  | ) |  |  | overridevirtual | 
 
Can be called at an interval of 1ms or less. If you do not need 1ms response time, you may call this at intervals < 250ms. 
- Returns
- trueif the value has been changed,- falseotherwise
Reimplemented from modm::ui::AnimationBase< T >.
 
 
The documentation for this class was generated from the following file: