Class GeoMapHelper

    • Field Detail

      • display

        private final org.eclipse.swt.widgets.Display display
      • TILE_SIZE

        public static final int TILE_SIZE
        basically not be changed, must be the same as GeoMapUtil's TILE_SIZE
        See Also:
        Constant Field Values
      • DEFAULT_NUMBER_OF_IMAGEFETCHER_THREADS

        private static final int DEFAULT_NUMBER_OF_IMAGEFETCHER_THREADS
        See Also:
        Constant Field Values
      • mapSize

        private org.eclipse.swt.graphics.Point mapSize
      • mapPosition

        private org.eclipse.swt.graphics.Point mapPosition
      • zoom

        private int zoom
      • zoomStamp

        java.util.concurrent.atomic.AtomicLong zoomStamp
      • cacheSize

        private int cacheSize
      • workQueue

        private java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue
      • threadFactory

        private java.util.concurrent.ThreadFactory threadFactory
      • executor

        java.util.concurrent.ThreadPoolExecutor executor
      • waitBackground

        private org.eclipse.swt.graphics.Color waitBackground
      • waitForeground

        private org.eclipse.swt.graphics.Color waitForeground
    • Constructor Detail

      • GeoMapHelper

        private GeoMapHelper​(org.eclipse.swt.widgets.Display display)
        Initializes a new GeoMapHelper with a specific display. The display is used for async runnables and as device for images.
        Parameters:
        display - the display
      • GeoMapHelper

        public GeoMapHelper​(org.eclipse.swt.widgets.Display display,
                            org.eclipse.swt.graphics.Point mapPosition,
                            int zoom,
                            int cacheSize)
        Initializes a new GeoMapHelper for a specific display, position, zoom level and cache size.
        Parameters:
        display - the Display to create images for.
        mapPosition - initial mapPosition.
        zoom - initial map zoom
        cacheSize - initial cache size, eg number of tile-images that are kept in cache to prevent reloading from the network.
    • Method Detail

      • getDisplay

        org.eclipse.swt.widgets.Display getDisplay()
      • paint

        public void paint​(org.eclipse.swt.graphics.GC gc,
                          org.eclipse.swt.graphics.Rectangle clip,
                          org.eclipse.swt.graphics.Point size)
        Points the map to the provided graphics context (GC), which could be the one provided in an SWT control paint request or one created for rendering an SWT Image
        Parameters:
        gc - the graphics context
        clip - the area that needs updating, could be null
        size - the size of the map area
      • paintTile

        void paintTile​(org.eclipse.swt.graphics.GC gc,
                       int dx,
                       int dy,
                       int x,
                       int y)
      • dispose

        public void dispose()
        Dispose internal data
      • getTileServer

        public TileServer getTileServer()
        Gets the tile server used for fetching tiles
        Returns:
        the tile server
      • setTileServer

        public void setTileServer​(TileServer tileServer)
        Sets the tile server used for fetching tiles
        Parameters:
        tileServer - the new tile server to use
      • tileUpdated

        public void tileUpdated​(TileRef tileRef)
        Description copied from interface: GeoMapHelperListener
        Notifies listener that a tile has been updated and may need (re)painting
        Specified by:
        tileUpdated in interface GeoMapHelperListener
        Parameters:
        tileRef - the reference to the updated tile
      • addGeoMapHelperListener

        public void addGeoMapHelperListener​(GeoMapHelperListener listener)
        Adds a GeoMapHelperListener that will be notified about tile updates
        Parameters:
        listener - the GeoMapHelperListener
      • removeGeoMapHelperListener

        public void removeGeoMapHelperListener​(GeoMapHelperListener listener)
        Removes a GeoMapHelperListener
        Parameters:
        listener - the GeoMapHelperListener
      • addInternalGeoMapListener

        public void addInternalGeoMapListener​(InternalGeoMapListener listener)
        Adds an InternalGeoMapListener that will be notified about painting and cache updates
        Parameters:
        listener - the InternalGeoMapListener
      • removeInternalGeoMapListener

        public void removeInternalGeoMapListener​(InternalGeoMapListener listener)
        Removes an InternalGeoMapListener
        Parameters:
        listener - the InternalGeoMapListener
      • getNumberOfTiles

        public int getNumberOfTiles()
        Returns:
        the number of tiles