TouchGFX + 0/3 examples
CodeScope will show references to touchgfx::MoveAnimator from the following samples and libraries:
Examples
STM32469I-Discovery
Demonstrations
STM32469I_EVAL
Demonstrations
STM324x9I_EVAL
Demonstrations
 
Symbols
loading...
Files
loading...

touchgfx::MoveAnimator

Syntax

class MoveAnimator : public T { public:     MoveAnimator() :         T(),         moveAnimationRunning(false),         moveAnimationCounter(0),         moveAnimationDelay(0),         moveAnimationEndedCallback(0)     {     }     virtual ~MoveAnimator()     {     }     void setMoveAnimationEndedAction(GenericCallback<const MoveAnimator<T>& >& callback)     {         moveAnimationEndedCallback = &callback;     }     void clearMoveAnimationEndedAction()     {         moveAnimationEndedCallback = 0;     }     virtual void setMoveAnimationDelay(uint16_t delay)     {         moveAnimationDelay = delay;     }     virtual uint16_t getMoveAnimationDelay() const     {         return moveAnimationDelay;     }     virtual bool isRunning() const     {         return isMoveAnimationRunning();     }     virtual bool isMoveAnimationRunning() const     {         return moveAnimationRunning;     }     void startMoveAnimation(int16_t endX, int16_t endY, uint16_t duration, EasingEquation xProgressionEquation = &EasingEquations::linearEaseNone, EasingEquation yProgressionEquation = &EasingEquations::linearEaseNone)     {         if (!moveAnimationRunning)         {             Application::getInstance()->registerTimerWidget(this);         }         moveAnimationCounter = 0;         moveAnimationStartX = T::getX();         moveAnimationStartY = T::getY();         moveAnimationEndX = endX;         moveAnimationEndY = endY;         moveAnimationDuration = duration;         moveAnimationXEquation = xProgressionEquation;         moveAnimationYEquation = yProgressionEquation;         moveAnimationRunning = true;         if (moveAnimationDelay == 0 && moveAnimationDuration == 0)         {             nextMoveAnimationStep();          }     }     void cancelMoveAnimation()     {         if (moveAnimationRunning)         {             Application::getInstance()->unregisterTimerWidget(this);             moveAnimationRunning = false;         }     } protected:     virtual void handleTickEvent()     {         T::handleTickEvent();         nextMoveAnimationStep();     }     void nextMoveAnimationStep()     {         if (moveAnimationRunning)         {             if (moveAnimationCounter < moveAnimationDelay)             {                 moveAnimationCounter++;             }             else             {                 if (moveAnimationCounter <= (uint32_t)(moveAnimationDelay + moveAnimationDuration))                 {                     uint32_t actualAnimationCounter = moveAnimationCounter - moveAnimationDelay;                     int16_t deltaX = moveAnimationXEquation(actualAnimationCounter, 0, moveAnimationEndX - moveAnimationStartX, moveAnimationDuration);                     int16_t deltaY = moveAnimationYEquation(actualAnimationCounter, 0, moveAnimationEndY - moveAnimationStartY, moveAnimationDuration);                     T::moveTo(moveAnimationStartX + deltaX, moveAnimationStartY + deltaY);                     moveAnimationCounter++;                 }                 if (moveAnimationCounter > (uint32_t)(moveAnimationDelay + moveAnimationDuration))                 {                     moveAnimationRunning = false;                     moveAnimationCounter = 0;                     Application::getInstance()->unregisterTimerWidget(this);                     if (moveAnimationEndedCallback && moveAnimationEndedCallback->isValid())                     {                         moveAnimationEndedCallback->execute(*this);                     }                 }             }         }     } protected:     bool           moveAnimationRunning;        uint16_t       moveAnimationCounter;        uint16_t       moveAnimationDelay;          uint16_t       moveAnimationDuration;       int16_t        moveAnimationStartX;         int16_t        moveAnimationStartY;         int16_t        moveAnimationEndX;           int16_t        moveAnimationEndY;           EasingEquation moveAnimationXEquation;      EasingEquation moveAnimationYEquation;      GenericCallback<const MoveAnimator<T>& >* moveAnimationEndedCallback;  };

Examples

touchgfx::MoveAnimator is referenced by 3 libraries and example projects.

References

LocationText
MoveAnimator.hpp:40
class MoveAnimator : public T