source: osm/applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/grid/ElevationGridTileLoader.java@ 31089

Last change on this file since 31089 was 31089, checked in by donvip, 10 years ago

[josm-elevation_grid] update to JOSM 8168

  • Property svn:mime-type set to text/plain
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.plugins.elevation.grid;
3
4import org.openstreetmap.gui.jmapviewer.Tile;
5import org.openstreetmap.gui.jmapviewer.interfaces.TileJob;
6import org.openstreetmap.gui.jmapviewer.interfaces.TileLoader;
7import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
8import org.openstreetmap.josm.tools.CheckParameterUtil;
9
10/**
11 * @author Olli
12 *
13 */
14public class ElevationGridTileLoader implements TileLoader {
15 protected TileLoaderListener listener;
16
17 public ElevationGridTileLoader(TileLoaderListener listener) {
18 CheckParameterUtil.ensureParameterNotNull(listener);
19 this.listener = listener;
20 }
21
22 @Override
23 public TileJob createTileLoaderJob(final Tile tile) {
24 CheckParameterUtil.ensureParameterNotNull(tile);
25
26 return new TileJob() {
27
28 @Override
29 public void run() {
30 synchronized (tile) {
31 if ((tile.isLoaded() && !tile.hasError()) || tile.isLoading())
32 return;
33 tile.initLoading();
34 }
35 try {
36 tile.loadImage(null);
37 tile.setLoaded(true);
38 listener.tileLoadingFinished(tile, true);
39 } catch (Exception e) {
40 tile.setError(e.getMessage());
41 listener.tileLoadingFinished(tile, false);
42 } finally {
43 tile.finishLoading();
44 }
45 }
46
47 @Override
48 public Tile getTile() {
49 return tile;
50 }
51
52 @Override
53 public void submit() {
54 run();
55 }
56 };
57 }
58
59}
Note: See TracBrowser for help on using the repository browser.