MCPcopy Create free account
hub / github.com/comaps/comaps / UpdateDoubleTapAndHold

Method UpdateDoubleTapAndHold

libs/drape_frontend/user_event_stream.cpp:1249–1267  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1247}
1248
1249void UserEventStream::UpdateDoubleTapAndHold(Touch const & touch)
1250{
1251 TEST_CALL(DOUBLE_TAP_AND_HOLD);
1252 ASSERT_EQUAL(m_state, STATE_DOUBLE_TAP_HOLD, ());
1253 float constexpr kPowerModifier = 10.0f;
1254#if defined(OMIM_OS_IPHONE) || defined(OMIM_OS_MAC)
1255 int constexpr kPlatformScaleModifier = -1;
1256#else
1257 int constexpr kPlatformScaleModifier = 1;
1258#endif
1259 double const scaleFactor = exp(kPowerModifier * (touch.m_location.y - m_startDoubleTapAndHold.y) /
1260 GetCurrentScreen().PixelRectIn3d().SizeY() * kPlatformScaleModifier);
1261 m_startDoubleTapAndHold = touch.m_location;
1262
1263 m2::PointD scaleCenter = m_startDragOrg;
1264 if (m_listener)
1265 m_listener->CorrectScalePoint(scaleCenter);
1266 m_navigator.Scale(scaleCenter, scaleFactor);
1267}
1268
1269void UserEventStream::EndDoubleTapAndHold(Touch const & touch)
1270{

Callers

nothing calls this directly

Calls 3

SizeYMethod · 0.80
CorrectScalePointMethod · 0.45
ScaleMethod · 0.45

Tested by

no test coverage detected