Modules/WidgetsNew/private/AnimationTestWidget.cpp
2024-11-24 22:41:14 +03:00

29 lines
761 B
C++

#include "AnimationTestWidget.hpp"
using namespace tp;
void AnimationTestWidget::process(const EventHandler& events) {
if (events.isDown(tp::InputID::MOUSE1)) {
mTestSpring.getStart().setTargetPosition(events.getPointer());
}
if (events.isDown(tp::InputID::MOUSE2)) {
mTestSpring.getEnd().setTargetPosition(events.getPointer());
}
mTestSpring.updateCurrentRect();
if (mTestSpring.checkAnimationShouldEnd()) {
mTestSpring.endAnimation();
}
}
void AnimationTestWidget::draw(Canvas& canvas) {
canvas.rect(getRelativeArea(), { 0, 0, 0, 1 }, 10);
canvas.rect(mTestSpring.getCurrentRect(), RGBA(1.f), 10);
}
bool AnimationTestWidget::needUpdate() const {
if (Widget::needUpdate()) return true;
return !mTestSpring.checkAnimationShouldEnd();
}