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

Method OnSetCenter

libs/drape_frontend/user_event_stream.cpp:417–450  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

415}
416
417bool UserEventStream::OnSetCenter(ref_ptr<SetCenterEvent> centerEvent)
418{
419 m2::PointD const & center = centerEvent->GetCenter();
420 auto const zoom = centerEvent->GetZoom();
421 auto const scaleFactor = centerEvent->GetScaleFactor();
422
423 if (centerEvent->TrackVisibleViewport())
424 {
425 m_needTrackCenter = true;
426 m_trackedCenter = center;
427 }
428
429 ScreenBase screen = GetCurrentScreen();
430
431 if (zoom != kDoNotChangeZoom)
432 {
433 screen.SetFromParams(center, screen.GetAngle(), GetScreenScale(zoom));
434 screen.MatchGandP3d(center, m_visibleViewport.Center());
435 }
436 else if (scaleFactor > 0.0)
437 {
438 screen.SetOrg(center);
439 ApplyScale(m_visibleViewport.Center(), scaleFactor, screen);
440 }
441 else
442 {
443 GetTargetScreen(screen);
444 screen.MatchGandP3d(center, m_visibleViewport.Center());
445 }
446
447 ShrinkAndScaleInto(screen, df::GetWorldRect());
448
449 return SetScreen(screen, centerEvent->IsAnim(), centerEvent->GetParallelAnimCreator());
450}
451
452bool UserEventStream::OnRotate(ref_ptr<RotateEvent> rotateEvent)
453{

Callers

nothing calls this directly

Calls 14

GetScreenScaleFunction · 0.85
ApplyScaleFunction · 0.85
ShrinkAndScaleIntoFunction · 0.85
GetWorldRectFunction · 0.85
TrackVisibleViewportMethod · 0.80
SetFromParamsMethod · 0.80
MatchGandP3dMethod · 0.80
SetOrgMethod · 0.80
GetCenterMethod · 0.45
GetZoomMethod · 0.45
GetScaleFactorMethod · 0.45
GetAngleMethod · 0.45

Tested by

no test coverage detected