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.ImageIcon
This 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
ImageLoader
This 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 class
PathIcon.LoadImageTask
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
doFilters(boolean update)
int
getHeight()
int
getIconHeight()
int
getIconWidth()
java.awt.Image
getImage()
protected PathIcon.LoadImageTask
getImageLoadingTask(java.lang.String path, int sW, int sH, long mySeq)
java.awt.image.ImageObserver
getImageObserver()
java.lang.String
getPath()
int
getWidth()
boolean
isLoadInBackground()
boolean
isUseCache()
void
paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)
void
reset()
void
setFilterA(java.awt.image.ImageFilter filter)
void
setFilterB(java.awt.image.ImageFilter filter)
void
setHeight(int i)
void
setImage(java.awt.Image img)
void
setImageObserver(java.awt.image.ImageObserver observer)
void
setLoadInBackground(boolean loadInBackground)
void
setPath(java.lang.String string)
void
setScaleMode(int scaleMode)
Deprecated.Not used anymore now that scaling is done by the ImageLoadervoid
setStretchSize(int w, int h)
void
setUseCache(boolean useCache)
void
setWidth(int i)
static boolean
waitForImage(java.awt.Image image)
-
-
-
Method Detail
-
setLoadInBackground
public void setLoadInBackground(boolean loadInBackground)
-
isLoadInBackground
public boolean isLoadInBackground()
-
getIconHeight
public int getIconHeight()
- Specified by:
getIconHeight
in interfacejavax.swing.Icon
- Overrides:
getIconHeight
in classjavax.swing.ImageIcon
-
getIconWidth
public int getIconWidth()
- Specified by:
getIconWidth
in interfacejavax.swing.Icon
- Overrides:
getIconWidth
in classjavax.swing.ImageIcon
-
paintIcon
public void paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)
- Specified by:
paintIcon
in interfacejavax.swing.Icon
- Overrides:
paintIcon
in classjavax.swing.ImageIcon
-
setImage
public void setImage(java.awt.Image img)
- Overrides:
setImage
in classjavax.swing.ImageIcon
-
getImage
public java.awt.Image getImage()
- Overrides:
getImage
in classjavax.swing.ImageIcon
-
getHeight
public int getHeight()
-
getImageObserver
public java.awt.image.ImageObserver getImageObserver()
- Overrides:
getImageObserver
in 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:
setImageObserver
in 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
-
-