static void tile_rendered_cb (ChamplainTile *tile, gpointer data, guint size, gboolean error, ChamplainMapSource *map_source) { ChamplainMapSource *next_source; g_signal_handlers_disconnect_by_func (tile, tile_rendered_cb, map_source); next_source = champlain_map_source_get_next_source (map_source); if (!error) { if (CHAMPLAIN_IS_TILE_CACHE (next_source)) champlain_tile_cache_on_tile_filled (CHAMPLAIN_TILE_CACHE (next_source), tile); champlain_tile_set_fade_in (tile, FALSE); champlain_tile_set_state (tile, CHAMPLAIN_STATE_DONE); champlain_tile_display_content (tile); } else if (next_source) champlain_map_source_fill_tile (next_source, tile); g_object_unref (map_source); g_object_unref (tile); }
static void tile_rendered_cb (ChamplainTile *tile, gpointer data, guint size, gboolean error, ChamplainMapSource *map_source) { ChamplainMapSource *next_source; g_signal_handlers_disconnect_by_func (tile, tile_rendered_cb, map_source); next_source = champlain_map_source_get_next_source (map_source); if (!error) { ChamplainTileSource *tile_source = CHAMPLAIN_TILE_SOURCE (map_source); ChamplainTileCache *tile_cache = champlain_tile_source_get_cache (tile_source); if (tile_cache && data) champlain_tile_cache_store_tile (tile_cache, tile, data, size); champlain_tile_set_fade_in (tile, TRUE); champlain_tile_set_state (tile, CHAMPLAIN_STATE_DONE); champlain_tile_display_content (tile); } else if (next_source) champlain_map_source_fill_tile (next_source, tile); g_object_unref (map_source); g_object_unref (tile); }
static void champlain_tile_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { ChamplainTile *self = CHAMPLAIN_TILE (object); switch (property_id) { case PROP_X: champlain_tile_set_x (self, g_value_get_uint (value)); break; case PROP_Y: champlain_tile_set_y (self, g_value_get_uint (value)); break; case PROP_ZOOM_LEVEL: champlain_tile_set_zoom_level (self, g_value_get_uint (value)); break; case PROP_SIZE: champlain_tile_set_size (self, g_value_get_uint (value)); break; case PROP_STATE: champlain_tile_set_state (self, g_value_get_enum (value)); break; case PROP_CONTENT: champlain_tile_set_content (self, g_value_get_object (value)); break; case PROP_ETAG: champlain_tile_set_etag (self, g_value_get_string (value)); break; case PROP_FADE_IN: champlain_tile_set_fade_in (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }