]> Pileus Git - grits/commitdiff
Speed up movement when at low elevation
authorAndy Spencer <andy753421@gmail.com>
Sat, 30 Jul 2011 21:14:53 +0000 (21:14 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sat, 30 Jul 2011 21:14:53 +0000 (21:14 +0000)
src/grits-viewer.c

index bfc704b35baeeeacf63c604aaa585404c8e326e2..2f3b53e13d0db058692f757c1eb6637678b22a85 100644 (file)
@@ -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;