}
guint *tex = g_new0(guint, 1);
- gis_viewer_begin(self->viewer);
glGenTextures(1, tex);
glBindTexture(GL_TEXTURE_2D, *tex);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
glFlush();
- gis_viewer_end(self->viewer);
tile->data = tex;
gtk_widget_queue_draw(GTK_WIDGET(self->viewer));
{
GisPluginMap *self = _self;
g_debug("GisPluginMap: _load_tile start %p", g_thread_self());
- char *path = gis_wms_make_local(self->wms, tile);
+ char *path = gis_wms_fetch(self->wms, tile, GIS_ONCE, NULL, NULL);
struct _LoadTileData *data = g_new0(struct _LoadTileData, 1);
data->self = self;
data->tile = tile;
static void _free_tile(GisTile *tile, gpointer _self)
{
GisPluginMap *self = _self;
- g_debug("GisPluginMap: _free_tile: %p=%d", tile->data, *(guint*)tile->data);
+ g_debug("GisPluginMap: _free_tile: %p", tile->data);
g_idle_add_full(G_PRIORITY_LOW, _free_tile_cb, tile->data, NULL);
}
g_thread_create(_update_tiles, self, FALSE, NULL);
}
-static gpointer _expose(GisCallback *callback, gpointer _self)
-{
- GisPluginMap *self = GIS_PLUGIN_MAP(_self);
- g_debug("GisPluginMap: expose viewer=%p tiles=%p,%p",
- self->viewer, self->tiles, self->tiles->data);
- gis_viewer_render_tiles(self->viewer, self->tiles);
- return NULL;
-}
-
/***********
* Methods *
***********/
G_CALLBACK(_on_location_changed), self);
/* Add renderers */
- GisCallback *callback = gis_callback_new(_expose, self);
- gis_viewer_add(viewer, GIS_OBJECT(callback), GIS_LEVEL_OVERLAY, 0);
+ gis_viewer_add(viewer, GIS_OBJECT(self->tiles), GIS_LEVEL_OVERLAY, 0);
return self;
}