Class RMEmbossEffect
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.rm.graphics.RMEffect
-
- com.inductiveautomation.rm.graphics.RMImageEffect
-
- com.inductiveautomation.rm.graphics.RMEmbossEffect
-
- All Implemented Interfaces:
Archivable
,DeepChangeListener
,RMPropertyChanger
,java.beans.PropertyChangeListener
,java.lang.Cloneable
,java.util.EventListener
- Direct Known Subclasses:
RMChiselEffect
public class RMEmbossEffect extends RMImageEffect
Renders a given shape with an emboss effect.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.rm.graphics.RMImageEffect
RMImageEffect.BoxKernel, RMImageEffect.ConeKernel, RMImageEffect.GaussianKernel
-
-
Constructor Summary
Constructors Constructor Description RMEmbossEffect()
Creates a new emboss effect.RMEmbossEffect(float altitude, float azimuth, int radius)
Creates a new emboss effect with given altitude, azimuth and radius.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RMEmbossEffect
deriveEffect(float newAltitude, float newAzimuth)
Derive with new altitude and azimuth.RMEmbossEffect
deriveEffect(int newRadius)
Derive with new radius.void
emboss(java.awt.image.BufferedImage source, java.awt.image.BufferedImage bump)
Emboss a 24 bit source image according to a bump map.boolean
equals(java.lang.Object anObj)
Standard equals implementation.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.float
getAltitude()
Returns altitude of light source.float
getAzimuth()
Returns angle of light source.java.awt.image.BufferedImage
getImage(RMShape aShape)
Creates effect imageint
getRadius()
Returns radius of edge rounding.void
isolateHeightSample(int[] bumpPixels, int w, int h)
Converts the argb bumpSamples into an array of signed ints representing the height.void
paint(RMShapePainter aPntr, RMShape aShape)
Render this fill in a shape painter.RXElement
toXML(RXArchiver anArchiver)
XML archival.-
Methods inherited from class com.inductiveautomation.rm.graphics.RMImageEffect
clone, getBlurredImage, getBlurredImage, getCachedImage, getShapeImage, reset
-
Methods inherited from class com.inductiveautomation.rm.graphics.RMEffect
deepChange, getBounds, getName, isEnabled, propertyChange, setEnabled, toString
-
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, animUpdate, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
-
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
-
-
-
Method Detail
-
getAltitude
public float getAltitude()
Returns altitude of light source.
-
getAzimuth
public float getAzimuth()
Returns angle of light source.
-
getRadius
public int getRadius()
Returns radius of edge rounding.
-
deriveEffect
public RMEmbossEffect deriveEffect(float newAltitude, float newAzimuth)
Derive with new altitude and azimuth.
-
deriveEffect
public RMEmbossEffect deriveEffect(int newRadius)
Derive with new radius.
-
getImage
public java.awt.image.BufferedImage getImage(RMShape aShape)
Creates effect image- Specified by:
getImage
in classRMImageEffect
-
emboss
public void emboss(java.awt.image.BufferedImage source, java.awt.image.BufferedImage bump)
Emboss a 24 bit source image according to a bump map. Bump map is assumed to to be (2*_radius x 2*_radius) pixels larger than the source to compensate for edge conditions of both the blur and the emboss convolutions.
-
isolateHeightSample
public void isolateHeightSample(int[] bumpPixels, int w, int h)
Converts the argb bumpSamples into an array of signed ints representing the height. Height values should be in the range 0-255
-
paint
public void paint(RMShapePainter aPntr, RMShape aShape)
Render this fill in a shape painter.
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Overrides:
equals
in classjava.lang.Object
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.- Specified by:
toXML
in interfaceArchivable
- Overrides:
toXML
in classRMEffect
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Specified by:
fromXML
in interfaceArchivable
- Overrides:
fromXML
in classRMEffect
-
-