From b64f8e8da2b711ec351a2cd4d2ae020648e4326d Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Sat, 30 Jul 2011 21:14:53 +0000 Subject: [PATCH] Speed up movement when at low elevation --- src/grits-viewer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/grits-viewer.c b/src/grits-viewer.c index bfc704b..2f3b53e 100644 --- a/src/grits-viewer.c +++ b/src/grits-viewer.c @@ -160,9 +160,10 @@ static gboolean on_motion_notify(GritsViewer *viewer, GdkEventMotion *event, gpo { gdouble x = viewer->drag_x - event->x; gdouble y = viewer->drag_y - event->y; - gdouble lat, lon, elev, scale; + gdouble lat, lon, elev, scale, rx, ry, rz; grits_viewer_get_location(GRITS_VIEWER(viewer), &lat, &lon, &elev); - scale = elev/EARTH_R/15; + grits_viewer_get_rotation(GRITS_VIEWER(viewer), &rx, &ry, &rz); + scale = (elev/EARTH_R/15) * (sin(deg2rad(ABS(rx)))*4+1); switch (viewer->drag_mode) { case GRITS_DRAG_PAN: grits_viewer_pan(viewer, -y*scale, x*scale, 0); break; case GRITS_DRAG_ZOOM: grits_viewer_zoom(viewer, pow(2, -y/500)); break; -- 2.43.2