]> Pileus Git - grits/blobdiff - src/gis-viewer.c
Use GisBounds for height_func instead of GisTile
[grits] / src / gis-viewer.c
index 075c039ed2d5e3215e92a24a976a122af2ea56bc..38c820718b0bcdf333c90a587a9d6e3b1b633571 100644 (file)
@@ -102,7 +102,6 @@ static gboolean on_key_press(GisViewer *viewer, GdkEventKey *event, gpointer _)
        double lat, lon, elev, pan;
        gis_viewer_get_location(viewer, &lat, &lon, &elev);
        pan = MIN(elev/(EARTH_R/2), 30);
-       gdk_threads_leave();
        switch (event->keyval) {
        case GDK_Left:  case GDK_h: gis_viewer_pan(viewer,  0,  -pan, 0); break;
        case GDK_Down:  case GDK_j: gis_viewer_pan(viewer, -pan, 0,   0); break;
@@ -143,7 +142,7 @@ static gboolean on_button_press(GisViewer *viewer, GdkEventButton *event, gpoint
        case 1:  viewer->drag_mode = GIS_DRAG_PAN;  break;
        case 2:  viewer->drag_mode = GIS_DRAG_ZOOM; break;
        case 3:  viewer->drag_mode = GIS_DRAG_TILT; break;
-       defualt: viewer->drag_mode = GIS_DRAG_NONE; break;
+       default: viewer->drag_mode = GIS_DRAG_NONE; break;
        }
        viewer->drag_x = event->x;
        viewer->drag_y = event->y;
@@ -483,21 +482,21 @@ void gis_viewer_clear_height_func(GisViewer *viewer)
 /**
  * gis_viewer_set_height_func:
  * @viewer:      the viewer
- * @tile:        the area to set the height function for
+ * @bounds:      the area to set the height function for
  * @height_func: the height function 
  * @user_data:   user data to pass to the height function
- * @update:      %TRUE if the heights inside the tile should be updated.
+ * @update:      %TRUE if the heights inside the bounds should be updated.
  *
  * Set the height function to be used for a given part of the surface..
  */
-void gis_viewer_set_height_func(GisViewer *viewer, GisTile *tile,
+void gis_viewer_set_height_func(GisViewer *viewer, GisBounds *bounds,
                GisHeightFunc height_func, gpointer user_data,
                gboolean update)
 {
        GisViewerClass *klass = GIS_VIEWER_GET_CLASS(viewer);
        if (!klass->set_height_func)
                g_warning("GisViewer: set_height_func - Unimplemented");
-       klass->set_height_func(viewer, tile, height_func, user_data, update);
+       klass->set_height_func(viewer, bounds, height_func, user_data, update);
 }
 
 /**
@@ -556,6 +555,7 @@ static void gis_viewer_init(GisViewer *viewer)
 {
        g_debug("GisViewer: init");
        /* Default values */
+       viewer->time        = time(NULL);
        viewer->location[0] = 40;
        viewer->location[1] = -100;
        viewer->location[2] = 1.5*EARTH_R;
@@ -585,7 +585,6 @@ static void gis_viewer_init(GisViewer *viewer)
 static void gis_viewer_finalize(GObject *gobject)
 {
        g_debug("GisViewer: finalize");
-       GisViewer *viewer = GIS_VIEWER(gobject);
        G_OBJECT_CLASS(gis_viewer_parent_class)->finalize(gobject);
 }
 static void gis_viewer_class_init(GisViewerClass *klass)