blob: 8f5e50ede2db834f1904ad7b1016d0b2cb3d2a64 [file] [log] [blame]
#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;
}