X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Fgis-viewer.c;h=38c820718b0bcdf333c90a587a9d6e3b1b633571;hp=b4e3d822811146c2230165fa87b383089b6677c0;hb=2be8bbde8f465947d364b28c5e156631caed6d25;hpb=b66ec3a8a09805cd81c7a55bf3e0d1de7efb9ad1 diff --git a/src/gis-viewer.c b/src/gis-viewer.c index b4e3d82..38c8207 100644 --- a/src/gis-viewer.c +++ b/src/gis-viewer.c @@ -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; @@ -213,12 +212,11 @@ void gis_viewer_setup(GisViewer *viewer, GisPlugins *plugins, GisPrefs *prefs) * * Set the current time for the view */ -void gis_viewer_set_time(GisViewer *viewer, const char *time) +void gis_viewer_set_time(GisViewer *viewer, time_t time) { g_assert(GIS_IS_VIEWER(viewer)); - g_debug("GisViewer: set_time - time=%s", time); - g_free(viewer->time); - viewer->time = g_strdup(time); + g_debug("GisViewer: set_time - time=%ld", time); + viewer->time = time; _gis_viewer_emit_time_changed(viewer); } @@ -230,7 +228,7 @@ void gis_viewer_set_time(GisViewer *viewer, const char *time) * * Returns: the current time */ -gchar *gis_viewer_get_time(GisViewer *viewer) +time_t gis_viewer_get_time(GisViewer *viewer) { g_assert(GIS_IS_VIEWER(viewer)); g_debug("GisViewer: get_time"); @@ -484,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); } /** @@ -557,7 +555,7 @@ static void gis_viewer_init(GisViewer *viewer) { g_debug("GisViewer: init"); /* Default values */ - viewer->time = g_strdup(""); + viewer->time = time(NULL); viewer->location[0] = 40; viewer->location[1] = -100; viewer->location[2] = 1.5*EARTH_R; @@ -587,8 +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_free(viewer->time); G_OBJECT_CLASS(gis_viewer_parent_class)->finalize(gobject); } static void gis_viewer_class_init(GisViewerClass *klass) @@ -600,7 +596,7 @@ static void gis_viewer_class_init(GisViewerClass *klass) /** * GisViewer::time-changed: * @viewer: the viewer. - * @time: a string representation of the time. + * @time: the new time. * * The ::time-changed signal is emitted when the viewers current time * changers. @@ -612,10 +608,10 @@ static void gis_viewer_class_init(GisViewerClass *klass) 0, NULL, NULL, - g_cclosure_marshal_VOID__STRING, + g_cclosure_marshal_VOID__LONG, G_TYPE_NONE, 1, - G_TYPE_STRING); + G_TYPE_LONG); /** * GisViewer::location-changed: