X-Git-Url: http://pileus.org/git/?p=aweather;a=blobdiff_plain;f=src%2Fgis%2Fwms_test.c;fp=src%2Fgis%2Fwms_test.c;h=0000000000000000000000000000000000000000;hp=2eb4500fa1c323a120191f3909dc172ea677a068;hb=00413dbcb8af54c99011668be8975e9f3a3a3646;hpb=42eaa69adc4578f47225ce8e1a7f89fdfaedffa4 diff --git a/src/gis/wms_test.c b/src/gis/wms_test.c deleted file mode 100644 index 2eb4500..0000000 --- a/src/gis/wms_test.c +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include - -#include "wms.h" - -struct CacheState { - GtkWidget *image; - GtkWidget *status; - GtkWidget *progress; -}; - -void done_callback(WmsCacheNode *node, gpointer _state) -{ - struct CacheState *state = _state; - g_message("done_callback: %p->%p", node, node->data); - gtk_image_set_from_pixbuf(GTK_IMAGE(state->image), node->data); -} - -void chunk_callback(gsize cur, gsize total, gpointer _state) -{ - struct CacheState *state = _state; - g_message("chunk_callback: %d/%d", cur, total); - - if (state->progress == NULL) { - state->progress = gtk_progress_bar_new(); - gtk_box_pack_end(GTK_BOX(state->status), state->progress, FALSE, FALSE, 0); - gtk_widget_show(state->progress); - } - - if (cur == total) - gtk_widget_destroy(state->progress); - else - gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(state->progress), (gdouble)cur/total); -} - -gboolean key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer user_data) -{ - if (event->keyval == GDK_q) - gtk_main_quit(); - return TRUE; -} - -int main(int argc, char **argv) -{ - gtk_init(&argc, &argv); - g_thread_init(NULL); - - GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); - GtkWidget *vbox1 = gtk_vbox_new(FALSE, 0); - GtkWidget *vbox2 = gtk_vbox_new(FALSE, 0); - GtkWidget *status = gtk_statusbar_new(); - GtkWidget *scroll = gtk_scrolled_window_new(NULL, NULL); - GtkWidget *bmng_image = gtk_image_new(); - GtkWidget *srtm_image = gtk_image_new(); - gtk_container_add(GTK_CONTAINER(win), vbox1); - gtk_box_pack_start(GTK_BOX(vbox1), scroll, TRUE, TRUE, 0); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox2); - gtk_box_pack_start(GTK_BOX(vbox2), bmng_image, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(vbox2), srtm_image, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(vbox1), status, FALSE, FALSE, 0); - g_signal_connect(win, "key-press-event", G_CALLBACK(key_press_cb), NULL); - g_signal_connect(win, "destroy", gtk_main_quit, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - struct CacheState bmng_state = {bmng_image, status, NULL}; - struct CacheState srtm_state = {srtm_image, status, NULL}; - - gdouble res = 200, lon = -101.76, lat = 46.85; - - WmsInfo *bmng_info = wms_info_new_for_bmng(bmng_pixbuf_loader, bmng_pixbuf_freeer); - wms_info_fetch_cache(bmng_info, NULL, res, lat, lon, chunk_callback, done_callback, &bmng_state); - - WmsInfo *srtm_info = wms_info_new_for_srtm(srtm_pixbuf_loader, srtm_pixbuf_freeer); - wms_info_fetch_cache(srtm_info, NULL, res, lat, lon, chunk_callback, done_callback, &srtm_state); - - gtk_widget_show_all(win); - gtk_main(); - - wms_info_free(bmng_info); - wms_info_free(srtm_info); - - return 0; -}