| #include "rive/constraints/scrolling/scroll_bar_constraint.hpp" | |
| #include "rive/constraints/scrolling/scroll_constraint.hpp" | |
| #include "rive/constraints/scrolling/scroll_constraint_proxy.hpp" | |
| #include "rive/math/vec2d.hpp" | |
| using namespace rive; | |
| bool ViewportDraggableProxy::drag(Vec2D mousePosition, float timeStamp) | |
| { | |
| if (!m_constraint->interactive()) | |
| { | |
| return false; | |
| } | |
| m_constraint->dragView(mousePosition - m_lastPosition, timeStamp); | |
| m_lastPosition = mousePosition; | |
| return true; | |
| } | |
| bool ViewportDraggableProxy::startDrag(Vec2D mousePosition, float timeStamp) | |
| { | |
| if (!m_constraint->interactive()) | |
| { | |
| return false; | |
| } | |
| m_constraint->initPhysics(); | |
| m_lastPosition = mousePosition; | |
| return true; | |
| } | |
| bool ViewportDraggableProxy::endDrag(Vec2D mousePosition, float timeStamp) | |
| { | |
| if (!m_constraint->interactive()) | |
| { | |
| return false; | |
| } | |
| m_constraint->runPhysics(); | |
| return true; | |
| } |