X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Fplugins%2Fbmng.c;h=c7b65fe72374beef6450d2269925bccc099dd89b;hp=2d463c3175bbd12f693a93958937e7a40e71e0ed;hb=3ebe95528320be9e3821fe23e39d41fd89b10fdd;hpb=194a225e4148805029672a21dfa1ceabad472364 diff --git a/src/plugins/bmng.c b/src/plugins/bmng.c index 2d463c3..c7b65fe 100644 --- a/src/plugins/bmng.c +++ b/src/plugins/bmng.c @@ -123,6 +123,15 @@ static void _on_location_changed(GisViewer *viewer, g_thread_create(_update_tiles, self, FALSE, NULL); } +static gpointer _expose(GisCallback *callback, gpointer _self) +{ + GisPluginBmng *self = GIS_PLUGIN_BMNG(_self); + g_debug("GisPluginBmng: expose viewer=%p tiles=%p,%p", + self->viewer, self->tiles, self->tiles->data); + gis_viewer_render_tiles(self->viewer, self->tiles); + return NULL; +} + /*********** * Methods * ***********/ @@ -140,15 +149,11 @@ GisPluginBmng *gis_plugin_bmng_new(GisViewer *viewer) self->sigid = g_signal_connect(self->viewer, "location-changed", G_CALLBACK(_on_location_changed), self); - return self; -} + /* Add renderers */ + GisCallback *callback = gis_callback_new(_expose, self); + gis_viewer_add(viewer, GIS_OBJECT(callback), GIS_LEVEL_WORLD, 0); -static void gis_plugin_bmng_expose(GisPlugin *_self) -{ - GisPluginBmng *self = GIS_PLUGIN_BMNG(_self); - g_debug("GisPluginBmng: expose viewer=%p tiles=%p,%p", - self->viewer, self->tiles, self->tiles->data); - gis_viewer_render_tiles(self->viewer, self->tiles); + return self; } @@ -164,7 +169,6 @@ static void gis_plugin_bmng_plugin_init(GisPluginInterface *iface) { g_debug("GisPluginBmng: plugin_init"); /* Add methods to the interface */ - iface->expose = gis_plugin_bmng_expose; } /* Class/Object init */ static void gis_plugin_bmng_init(GisPluginBmng *self)