001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.imagery; 003 004import org.openstreetmap.gui.jmapviewer.JMapViewer; 005import org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource; 006import org.openstreetmap.gui.jmapviewer.tilesources.TileSourceInfo; 007import org.openstreetmap.josm.gui.layer.TMSLayer; 008 009/** 010 * JOSM wrapper class that uses min/max zoom settings from imagery settings instead of JMapViewer defaults 011 * @since 15456 012 */ 013public class JosmTemplatedTMSTileSource extends TemplatedTMSTileSource { 014 015 /** 016 * Creates TMS tilesource based on tilesource info 017 * @param info tile source info 018 */ 019 public JosmTemplatedTMSTileSource(TileSourceInfo info) { 020 super(info); 021 } 022 023 @Override 024 public int getMinZoom() { 025 return (minZoom == 0) ? TMSLayer.PROP_MIN_ZOOM_LVL.get() : minZoom; 026 } 027 028 // return no more, than JMapViewer supports 029 @Override 030 public int getMaxZoom() { 031 return Math.min((maxZoom == 0) ? TMSLayer.PROP_MAX_ZOOM_LVL.get() : maxZoom, JMapViewer.MAX_ZOOM); 032 } 033}