public class Identity extends Effect
BufferedImage
)
that is suitable for the destination FilterContext
.
No other processing is performed on the specified image object.Effect.AccelType
Modifier and Type | Field and Description |
---|---|
private java.util.Map<FilterContext,ImageData> |
datacache |
private Point2D |
loc |
private Filterable |
src |
DefaultInput
Constructor and Description |
---|
Identity(Filterable src)
Constructs a new
Identity effect with the
given platform-specific image. |
Modifier and Type | Method and Description |
---|---|
private void |
clearCache() |
ImageData |
filter(FilterContext fctx,
BaseTransform transform,
Rectangle outputClip,
java.lang.Object renderHelper,
Effect defaultInput)
Applies this filter effect to the series of images represented by
the input
Effect s and/or the given defaultInput
viewed under the given transform . |
Effect.AccelType |
getAccelType(FilterContext fctx)
Returns one of the
AccelType values, indicating
whether this Effect is accelerated in hardware for the
given FilterContext . |
BaseBounds |
getBounds(BaseTransform transform,
Effect defaultInput)
Returns the bounding box that will be affected by this filter
operation when viewed under the specified
transform ,
given its list of input Effect s and the specified
defaultInput effect. |
DirtyRegionContainer |
getDirtyRegions(Effect defaultInput,
DirtyRegionPool regionPool)
Returns the dirty region container containing dirty regions affected
by this filter operation.
|
Point2D |
getLocation()
Returns the location of the source image, relative to the untransformed
source content bounds.
|
Filterable |
getSource()
Returns the source image (can be null).
|
boolean |
reducesOpaquePixels()
Whether an opacity for any pixel is different (lower)
than the corresponding pixel in the default input.
|
void |
setLocation(Point2D pt)
Sets the location of the source image, relative to the untransformed
source content bounds.
|
void |
setSource(Filterable src)
Sets the source image.
|
combineBounds, combineBounds, createCompatibleImage, ensureTransform, getCompatibleImage, getDefaultedInput, getDefaultedInput, getInputs, getNumInputs, getResultBounds, getState, releaseCompatibleImage, setInput, transform, transformBounds, untransform
private Filterable src
private Point2D loc
private final java.util.Map<FilterContext,ImageData> datacache
public Identity(Filterable src)
Identity
effect with the
given platform-specific image.src
- the source image, or nullpublic final Filterable getSource()
public void setSource(Filterable src)
src
- the source image, or nullpublic final Point2D getLocation()
public void setLocation(Point2D pt)
pt
- the new location of the source imagejava.lang.IllegalArgumentException
- if pt
is nullpublic BaseBounds getBounds(BaseTransform transform, Effect defaultInput)
Effect
transform
,
given its list of input Effect
s and the specified
defaultInput
effect.
Note that the returned bounds can be smaller or larger than one
or more of the inputs.public ImageData filter(FilterContext fctx, BaseTransform transform, Rectangle outputClip, java.lang.Object renderHelper, Effect defaultInput)
Effect
Effect
s and/or the given defaultInput
viewed under the given transform
.
The filter does not need to create pixel data for any pixels that
fall outside of the destination device-space (pixel) bounds specified
by the outputClip
Rectangle
.
The filter might be able to use the renderHelper
object to
render the results directly on its own if the object is not null and
implements an interface, such as ImageHelper
, that the filter
recognizes.
If the effect renders itself then it will return a null
for
the ImageData
result.
Note that the ImageData
object returned by this method must be
validated prior to use with
ImageData.validate(com.sun.scenario.effect.FilterContext)
method.
boolean valid; do { ImageData res = filter(fctx, transform, clip, renderer, defaultInput); if (res == null) { break; } if (valid = res.validate(fctx)) { // Render res.getImage() to the appropriate destination // or use it as an input to another chain of effects. } res.unref(); } while (!valid);
filter
in class Effect
fctx
- the FilterContext
that determines the
environment (e.g. the graphics device or code path) on which
the filter operation will be performedtransform
- an optional transform under which the filter and
its inputs will be viewedoutputClip
- the device space (pixel) bounds of the output
image or window or clip into which the result of the Effect will
be rendered, or null if the output dimensions are not known.renderHelper
- an object which might be used to render
the results of the effect directly.defaultInput
- the default input Effect
to be used in
all cases where a filter has a null input.ImageData
holding the result of this filter
operation or null
if the filter had no output or used the
renderHelper
to render its results directly.public Effect.AccelType getAccelType(FilterContext fctx)
Effect
AccelType
values, indicating
whether this Effect
is accelerated in hardware for the
given FilterContext
.getAccelType
in class Effect
AccelType
valuesprivate void clearCache()
public boolean reducesOpaquePixels()
Effect
reducesOpaquePixels
in class Effect
public DirtyRegionContainer getDirtyRegions(Effect defaultInput, DirtyRegionPool regionPool)
Effect
getDirtyRegions
in class Effect
defaultInput
- the default input Effect
to be used in
all cases where a filter has a null inputregionPool
- the pool of dirty regions