X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Faweather-gui.c;h=320a14d59de224a17a8a36c9de2d45c5981ea44e;hp=d02443eb9c314cd57418a57eae01eab1285a030e;hb=93c853165104b5119e17be07e325f9097a5ebdb3;hpb=721c55f22af98cf2fcc247169836e9b355a47104 diff --git a/src/aweather-gui.c b/src/aweather-gui.c index d02443e..320a14d 100644 --- a/src/aweather-gui.c +++ b/src/aweather-gui.c @@ -69,7 +69,7 @@ static gboolean map(GtkWidget *da, GdkEventConfigure *event, AWeatherGui *gui) /* Misc */ glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glClearColor(0.8f, 0.8f, 1.0f, 0.0f); + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); /* Tessellation, "finding intersecting triangles" */ /* http://research.microsoft.com/pubs/70307/tr-2006-81.pdf */ @@ -93,6 +93,7 @@ static gboolean configure(GtkWidget *da, GdkEventConfigure *event, AWeatherGui * double width = da->allocation.width; double height = da->allocation.height; double dist = 500*1000; // 500 km + double cam = 300*1000; // 500 km glViewport(0, 0, width, height); @@ -101,12 +102,12 @@ static gboolean configure(GtkWidget *da, GdkEventConfigure *event, AWeatherGui * glLoadIdentity(); double rad = atan(height/2*1000.0/dist); // 1px = 1000 meters double deg = (rad*180)/M_PI; - gluPerspective(deg*2, width/height, dist-20, dist+20); + gluPerspective(deg*2, width/height, cam-20, cam+20); /* Camera position? */ glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - glTranslatef(0.0, 0.0, -dist); + glTranslatef(0.0, 0.0, -cam); //glRotatef(-45, 1, 0, 0); aweather_gui_gl_end(gui); @@ -164,8 +165,10 @@ static void update_location_widget(AWeatherView *view, char *location, AWeatherG g_signal_handlers_block_by_func(combo, G_CALLBACK(on_site_changed), gui); gtk_combo_box_set_active_iter(combo, &iter2); g_signal_handlers_unblock_by_func(combo, G_CALLBACK(on_site_changed), gui); + g_free(text); return; } + g_free(text); } } }