From: Andy Spencer Date: Sat, 30 Jul 2011 21:14:53 +0000 (+0000) Subject: Speed up movement when at low elevation X-Git-Tag: v0.5.1~6 X-Git-Url: http://pileus.org/git/?p=grits;a=commitdiff_plain;h=b64f8e8da2b711ec351a2cd4d2ae020648e4326d Speed up movement when at low elevation --- 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;