Class PathIcon
- java.lang.Object
-
- javax.swing.ImageIcon
-
- com.inductiveautomation.ignition.client.images.PathIcon
-
- All Implemented Interfaces:
java.io.Serializable,javax.accessibility.Accessible,javax.swing.Icon
public class PathIcon extends javax.swing.ImageIconThis class loads an icon, possibly stretching and applying filters (color replace, color tint) to it.For a long time, this class loaded images asynchronously with the EventQueue thread, updating the imageobserver as they came in. It was changed to instead load images synchronously, opting to store them in an in-memory cache. See
ImageLoaderThis simplifies the code a lot, and was done to eliminate a race condition that was occuring when multiple images were loading the same image, and then applying filters (common). See SVN for old methods and inner classes.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classPathIcon.LoadImageTask
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voiddoFilters(boolean update)intgetHeight()intgetIconHeight()intgetIconWidth()java.awt.ImagegetImage()protected PathIcon.LoadImageTaskgetImageLoadingTask(java.lang.String path, int sW, int sH, long mySeq)java.awt.image.ImageObservergetImageObserver()java.lang.StringgetPath()intgetWidth()booleanisLoadInBackground()booleanisUseCache()voidpaintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)voidreset()voidsetFilterA(java.awt.image.ImageFilter filter)voidsetFilterB(java.awt.image.ImageFilter filter)voidsetHeight(int i)voidsetImage(java.awt.Image img)voidsetImageObserver(java.awt.image.ImageObserver observer)voidsetLoadInBackground(boolean loadInBackground)voidsetPath(java.lang.String string)voidsetScaleMode(int scaleMode)Deprecated.Not used anymore now that scaling is done by the ImageLoadervoidsetStretchSize(int w, int h)voidsetUseCache(boolean useCache)voidsetWidth(int i)static booleanwaitForImage(java.awt.Image image)
-
-
-
Method Detail
-
setLoadInBackground
public void setLoadInBackground(boolean loadInBackground)
-
isLoadInBackground
public boolean isLoadInBackground()
-
getIconHeight
public int getIconHeight()
- Specified by:
getIconHeightin interfacejavax.swing.Icon- Overrides:
getIconHeightin classjavax.swing.ImageIcon
-
getIconWidth
public int getIconWidth()
- Specified by:
getIconWidthin interfacejavax.swing.Icon- Overrides:
getIconWidthin classjavax.swing.ImageIcon
-
paintIcon
public void paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)- Specified by:
paintIconin interfacejavax.swing.Icon- Overrides:
paintIconin classjavax.swing.ImageIcon
-
setImage
public void setImage(java.awt.Image img)
- Overrides:
setImagein classjavax.swing.ImageIcon
-
getImage
public java.awt.Image getImage()
- Overrides:
getImagein classjavax.swing.ImageIcon
-
getHeight
public int getHeight()
-
getImageObserver
public java.awt.image.ImageObserver getImageObserver()
- Overrides:
getImageObserverin classjavax.swing.ImageIcon
-
getWidth
public int getWidth()
-
setHeight
public void setHeight(int i)
-
setStretchSize
public void setStretchSize(int w, int h)
-
reset
public void reset()
-
setUseCache
public void setUseCache(boolean useCache)
-
isUseCache
public boolean isUseCache()
-
setImageObserver
public void setImageObserver(java.awt.image.ImageObserver observer)
- Overrides:
setImageObserverin classjavax.swing.ImageIcon
-
setWidth
public void setWidth(int i)
-
getPath
public java.lang.String getPath()
-
getImageLoadingTask
protected PathIcon.LoadImageTask getImageLoadingTask(java.lang.String path, int sW, int sH, long mySeq)
-
setPath
public void setPath(java.lang.String string)
-
waitForImage
public static boolean waitForImage(java.awt.Image image)
-
setFilterA
public void setFilterA(java.awt.image.ImageFilter filter)
-
setFilterB
public void setFilterB(java.awt.image.ImageFilter filter)
-
doFilters
public void doFilters(boolean update)
-
setScaleMode
@Deprecated public void setScaleMode(int scaleMode)
Deprecated.Not used anymore now that scaling is done by the ImageLoader
-
-