|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openstreetmap.josm.tools.ImageProvider
public class ImageProvider
Helper class to support the application with images.
How to use:
ImageIcon icon = new ImageProvider(name).setMaxWidth(24).setMaxHeight(24).get();
(there are more options, see below)
short form:
ImageIcon icon = ImageProvider.get(name);
Nested Class Summary | |
---|---|
static interface |
ImageProvider.ImageCallback
|
static class |
ImageProvider.ImageType
|
static class |
ImageProvider.OverlayPosition
Position of an overlay icon |
Field Summary | |
---|---|
protected java.util.Collection<java.lang.ClassLoader> |
additionalClassLoaders
|
protected java.io.File |
archive
|
private static java.util.Map<java.lang.String,ImageResource> |
cache
The icon cache |
private static java.util.regex.Pattern |
dataUrlPattern
data:[<mediatype>][;base64],<data> |
(package private) static double |
DEGREE_90
90 degrees in radians units |
protected java.util.Collection<java.lang.String> |
dirs
|
protected int |
height
|
protected java.lang.String |
id
|
private static java.util.concurrent.ExecutorService |
imageFetcher
|
protected int |
maxHeight
|
protected int |
maxWidth
|
protected java.lang.String |
name
|
protected boolean |
optional
|
protected java.lang.String |
subdir
|
protected boolean |
suppressWarnings
|
private static SVGUniverse |
svgUniverse
|
protected int |
width
|
Constructor Summary | |
---|---|
ImageProvider(java.lang.String name)
|
|
ImageProvider(java.lang.String subdir,
java.lang.String name)
|
Method Summary | |
---|---|
static java.awt.image.BufferedImage |
createImageFromSvg(SVGDiagram svg,
java.awt.Dimension dim)
|
static java.awt.Image |
createRotatedImage(java.awt.Component c,
java.awt.Image img,
double rotatedAngle)
Creates a rotated version of the input image. |
javax.swing.ImageIcon |
get()
Execute the image request. |
static javax.swing.ImageIcon |
get(OsmPrimitiveType type)
Replies the icon for an OSM primitive type |
static javax.swing.ImageIcon |
get(java.lang.String name)
|
static javax.swing.ImageIcon |
get(java.lang.String subdir,
java.lang.String name)
Load an image with a given file name. |
static java.awt.Cursor |
getCursor(java.lang.String name,
java.lang.String overlay)
|
static javax.swing.ImageIcon |
getIfAvailable(java.lang.String name)
|
static javax.swing.ImageIcon |
getIfAvailable(java.lang.String subdir,
java.lang.String name)
Load an image with a given file name, but do not throw an exception when the image cannot be found. |
private static ImageResource |
getIfAvailableHttp(java.lang.String url,
ImageProvider.ImageType type)
|
private ImageResource |
getIfAvailableImpl(java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
|
private static ImageResource |
getIfAvailableLocalURL(java.net.URL path,
ImageProvider.ImageType type)
|
private static ImageResource |
getIfAvailableWiki(java.lang.String name,
ImageProvider.ImageType type)
|
private static ImageResource |
getIfAvailableZip(java.lang.String full_name,
java.io.File archive,
ImageProvider.ImageType type)
|
private static java.net.URL |
getImageUrl(java.lang.String imageName,
java.util.Collection<java.lang.String> dirs,
java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
|
private static java.net.URL |
getImageUrl(java.lang.String path,
java.lang.String name,
java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
|
private static java.lang.String |
getImgUrlFromWikiInfoPage(java.lang.String base,
java.lang.String fn)
Reads the wiki page on a certain file in html format in order to find the real image URL. |
void |
getInBackground(ImageProvider.ImageCallback callback)
Load the image in a background thread. |
private static SVGUniverse |
getSvgUniverse()
|
static javax.swing.ImageIcon |
overlay(javax.swing.Icon ground,
javax.swing.Icon overlay,
ImageProvider.OverlayPosition pos)
Decorate one icon with an overlay icon. |
static javax.swing.ImageIcon |
overlay(javax.swing.Icon ground,
java.lang.String overlayImage,
ImageProvider.OverlayPosition pos)
Deprecated. |
ImageProvider |
setAdditionalClassLoaders(java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
Add a collection of additional class loaders to search image for. |
ImageProvider |
setArchive(java.io.File archive)
Specify a zip file where the image is located. |
ImageProvider |
setDirs(java.util.Collection<java.lang.String> dirs)
Directories to look for the image. |
ImageProvider |
setHeight(int height)
|
ImageProvider |
setId(java.lang.String id)
Set an id used for caching. |
ImageProvider |
setMaxHeight(int maxHeight)
|
ImageProvider |
setMaxSize(java.awt.Dimension maxSize)
Limit the maximum size of the image. |
ImageProvider |
setMaxWidth(int maxWidth)
|
ImageProvider |
setOptional(boolean optional)
Decide, if an exception should be thrown, when the image cannot be located. |
ImageProvider |
setSize(java.awt.Dimension size)
Set the dimensions of the image. |
ImageProvider |
setSuppressWarnings(boolean suppressWarnings)
Suppresses warning on the command line in case the image cannot be found. |
ImageProvider |
setWidth(int width)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.Collection<java.lang.String> dirs
protected java.lang.String id
protected java.lang.String subdir
protected java.lang.String name
protected java.io.File archive
protected int width
protected int height
protected int maxWidth
protected int maxHeight
protected boolean optional
protected boolean suppressWarnings
protected java.util.Collection<java.lang.ClassLoader> additionalClassLoaders
private static SVGUniverse svgUniverse
private static java.util.Map<java.lang.String,ImageResource> cache
private static final java.util.concurrent.ExecutorService imageFetcher
private static final java.util.regex.Pattern dataUrlPattern
data:[<mediatype>][;base64],<data>
RFC2397
static final double DEGREE_90
Constructor Detail |
---|
public ImageProvider(java.lang.String subdir, java.lang.String name)
subdir
- subdirectory the image lies inname
- the name of the image. If it does not end with '.png' or '.svg',
both extensions are tried.public ImageProvider(java.lang.String name)
Method Detail |
---|
public ImageProvider setDirs(java.util.Collection<java.lang.String> dirs)
public ImageProvider setId(java.lang.String id)
public ImageProvider setArchive(java.io.File archive)
public ImageProvider setSize(java.awt.Dimension size)
public ImageProvider setWidth(int width)
setSize(java.awt.Dimension)
public ImageProvider setHeight(int height)
setSize(java.awt.Dimension)
public ImageProvider setMaxSize(java.awt.Dimension maxSize)
public ImageProvider setMaxWidth(int maxWidth)
setMaxSize(java.awt.Dimension)
public ImageProvider setMaxHeight(int maxHeight)
setMaxSize(java.awt.Dimension)
public ImageProvider setOptional(boolean optional)
optional
- true, if JOSM should not throw a RuntimeException
in case the image cannot be located.
public ImageProvider setSuppressWarnings(boolean suppressWarnings)
public ImageProvider setAdditionalClassLoaders(java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
public javax.swing.ImageIcon get()
public void getInBackground(ImageProvider.ImageCallback callback)
callback
- a callback. It is called, when the image is ready.
This can happen before the call to this method returns or it may be
invoked some time (seconds) later. If no image is available, a null
value is returned to callback (just like get()
).public static javax.swing.ImageIcon get(java.lang.String subdir, java.lang.String name)
subdir
- subdirectory the image lies inname
- The icon name (base name with or without '.png' or '.svg' extension)
java.lang.RuntimeException
- if the image cannot be locatedpublic static javax.swing.ImageIcon get(java.lang.String name)
get(java.lang.String, java.lang.String)
public static javax.swing.ImageIcon getIfAvailable(java.lang.String subdir, java.lang.String name)
get(java.lang.String, java.lang.String)
public static javax.swing.ImageIcon getIfAvailable(java.lang.String name)
getIfAvailable(java.lang.String, java.lang.String)
private ImageResource getIfAvailableImpl(java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
private static ImageResource getIfAvailableHttp(java.lang.String url, ImageProvider.ImageType type)
private static ImageResource getIfAvailableWiki(java.lang.String name, ImageProvider.ImageType type)
private static ImageResource getIfAvailableZip(java.lang.String full_name, java.io.File archive, ImageProvider.ImageType type)
private static ImageResource getIfAvailableLocalURL(java.net.URL path, ImageProvider.ImageType type)
private static java.net.URL getImageUrl(java.lang.String path, java.lang.String name, java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
private static java.net.URL getImageUrl(java.lang.String imageName, java.util.Collection<java.lang.String> dirs, java.util.Collection<java.lang.ClassLoader> additionalClassLoaders)
private static java.lang.String getImgUrlFromWikiInfoPage(java.lang.String base, java.lang.String fn)
public static java.awt.Cursor getCursor(java.lang.String name, java.lang.String overlay)
@Deprecated public static javax.swing.ImageIcon overlay(javax.swing.Icon ground, java.lang.String overlayImage, ImageProvider.OverlayPosition pos)
public static javax.swing.ImageIcon overlay(javax.swing.Icon ground, javax.swing.Icon overlay, ImageProvider.OverlayPosition pos)
ground
- the base imageoverlay
- the overlay image (can be smaller than the base image)pos
- position of the overlay image inside the base image (positioned
in one of the corners)
public static java.awt.Image createRotatedImage(java.awt.Component c, java.awt.Image img, double rotatedAngle)
c
- The component to get properties useful for painting, e.g. the foreground or
background color.img
- the image to be rotated.rotatedAngle
- the rotated angle, in degree, clockwise. It could be any double but we
will mod it with 360 before using it.
public static javax.swing.ImageIcon get(OsmPrimitiveType type)
type
- the type
public static java.awt.image.BufferedImage createImageFromSvg(SVGDiagram svg, java.awt.Dimension dim)
private static SVGUniverse getSvgUniverse()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |