]> Pileus Git - grits/blobdiff - src/grits-viewer.c
Add cursor support to GritsObject
[grits] / src / grits-viewer.c
index d9e28878dbcd53ed03c1875c59769186a776af50..92f6e863617940792d2c532074218ef82110bb1b 100644 (file)
@@ -163,9 +163,9 @@ static gboolean on_motion_notify(GritsViewer *viewer, GdkEventMotion *event, gpo
        gdouble lat, lon, elev, scale, rx, ry, rz;
        grits_viewer_get_location(GRITS_VIEWER(viewer), &lat, &lon, &elev);
        grits_viewer_get_rotation(GRITS_VIEWER(viewer), &rx,  &ry,  &rz);
-       scale = (elev/EARTH_R/15) * (sin(deg2rad(ABS(rx)))*4+1);
+       scale = (elev/EARTH_R/14.1) * (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_PAN:  grits_viewer_pan(viewer, -y*scale*0.782, x*scale, 0); break;
        case GRITS_DRAG_ZOOM: grits_viewer_zoom(viewer, pow(2, -y/500)); break;
        case GRITS_DRAG_TILT: grits_viewer_rotate(viewer, y/10, 0, x/10); break;
        }
@@ -180,13 +180,6 @@ static void on_view_changed(GritsViewer *viewer,
        gtk_widget_queue_draw(GTK_WIDGET(viewer));
 }
 
-static void on_realize(GritsViewer *viewer)
-{
-       GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
-       GdkWindow *window = gtk_widget_get_window(GTK_WIDGET(viewer));
-       gdk_window_set_cursor(window, cursor);
-}
-
 /***********
  * Methods *
  ***********/
@@ -587,7 +580,7 @@ static void grits_viewer_init(GritsViewer *viewer)
        viewer->time        = time(NULL);
        viewer->location[0] = 40;
        viewer->location[1] = -100;
-       viewer->location[2] = 1.5*EARTH_R;
+       viewer->location[2] = EARTH_R;
        viewer->rotation[0] = 0;
        viewer->rotation[1] = 0;
        viewer->rotation[2] = 0;
@@ -608,8 +601,6 @@ static void grits_viewer_init(GritsViewer *viewer)
 
        g_signal_connect(viewer, "location-changed",     G_CALLBACK(on_view_changed),   NULL);
        g_signal_connect(viewer, "rotation-changed",     G_CALLBACK(on_view_changed),   NULL);
-
-       g_signal_connect(viewer, "realize",              G_CALLBACK(on_realize),        NULL);
 }
 static void grits_viewer_finalize(GObject *gobject)
 {