#include "mapscroller.h"
+/////////////////////////////////////////////////////////////////////////////
// scene coordinate interpolator function is not part of this class namespace
+/////////////////////////////////////////////////////////////////////////////
QVariant sceneCoordinateInterpolator(const SceneCoordinate &start,
const SceneCoordinate &end,
qreal progress);
+MapScroller::MapScroller()
+ : m_isKineticScroll(false)
+{
+ qDebug() << __PRETTY_FUNCTION__;
+}
+
MapScroller& MapScroller::getInstance()
{
qDebug() << __PRETTY_FUNCTION__;
return instance;
}
+void MapScroller::setKineticScrollFlag(bool isKineticScroll)
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ m_isKineticScroll = isKineticScroll;
+}
+
void MapScroller::updateCurrentValue(const QVariant &value)
{
qDebug() << __PRETTY_FUNCTION__;
if ((state() == QAbstractAnimation::Running) && (value.canConvert<SceneCoordinate>()))
- emit coordinateUpdated(value.value<SceneCoordinate>());
+ emit coordinateUpdated(value.value<SceneCoordinate>(), m_isKineticScroll);
+ else
+ m_isKineticScroll = false;
+
+ // NOTE: m_isKineticScroll is cleared when new animation values are set, because this method is
+ // called then and state() is QAbstractAnimation::Stopped
}
+/////////////////////////////////////////////////////////////////////////////
// scene coordinate interpolator function is not part of this class namespace
+/////////////////////////////////////////////////////////////////////////////
QVariant sceneCoordinateInterpolator(const SceneCoordinate &start,
const SceneCoordinate &end,
qreal progress)
{
+ qDebug() << __PRETTY_FUNCTION__;
+
return SceneCoordinate(start + progress * (end - start));
}