public class Merge extends CoreEffect<RenderState>
Blend effect with
Blend.Mode.SRC_OVER and opacity=1.0, except possibly
more efficient.Effect.AccelTypeDefaultInput| Constructor and Description |
|---|
Merge(Effect bottomInput,
Effect topInput)
Constructs a new
Merge effect for the given inputs. |
| Modifier and Type | Method and Description |
|---|---|
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
Effects and/or the given defaultInput
viewed under the given transform. |
Effect |
getBottomInput()
Returns the bottom input for this
Effect. |
RenderState |
getRenderState(FilterContext fctx,
BaseTransform transform,
Rectangle outputClip,
java.lang.Object renderHelper,
Effect defaultInput)
Returns the object representing the rendering strategy and state for
the filter operation characterized by the specified arguments.
|
Effect |
getTopInput()
Returns the top input for this
Effect. |
boolean |
reducesOpaquePixels()
Whether an opacity for any pixel is different (lower)
than the corresponding pixel in the default input.
|
void |
setBottomInput(Effect bottomInput)
Sets the bottom input for this
Effect to a specific
Effect or to the default input if input is
null. |
void |
setTopInput(Effect topInput)
Sets the top input for this
Effect to a specific
Effect or to the default input if input is
null. |
Point2D |
transform(Point2D p,
Effect defaultInput)
Transform the specified point
p from the coordinate space
of the primary content input to the coordinate space of the effect
output. |
Point2D |
untransform(Point2D p,
Effect defaultInput)
Transform the specified point
p from the coordinate space
of the output of the effect into the coordinate space of the
primary content input. |
filterImageDatas, getAccelType, getPeer, updatePeerKey, updatePeerKeygetBounds, untransformClipcombineBounds, combineBounds, createCompatibleImage, ensureTransform, getCompatibleImage, getDefaultedInput, getDefaultedInput, getDirtyRegions, getInputs, getNumInputs, getResultBounds, getState, releaseCompatibleImage, setInput, transformBoundspublic final Effect getBottomInput()
Effect.Effectpublic void setBottomInput(Effect bottomInput)
Effect to a specific
Effect or to the default input if input is
null.bottomInput - the bottom input for this Effectpublic final Effect getTopInput()
Effect.Effectpublic void setTopInput(Effect topInput)
Effect to a specific
Effect or to the default input if input is
null.topInput - the top input for this Effectpublic Point2D transform(Point2D p, Effect defaultInput)
p from the coordinate space
of the primary content input to the coordinate space of the effect
output.
In essence, this method asks the question "Which output coordinate
is most affected by the data at the specified coordinate in the
primary source input?"
The Merge effect delegates this operation to its top
input, or the defaultInput if the top input is
null.
transform in class FilterEffect<RenderState>p - the point in the coordinate space of the primary content
input to be transformeddefaultInput - the default input Effect to be used in
all cases where a filter has a null inputpublic Point2D untransform(Point2D p, Effect defaultInput)
p from the coordinate space
of the output of the effect into the coordinate space of the
primary content input.
In essence, this method asks the question "Which source coordinate
contributes most to the definition of the output at the specified
coordinate?"
The Merge effect delegates this operation to its top
input, or the defaultInput if the top input is
null.
untransform in class FilterEffect<RenderState>p - the point in the coordinate space of the result output
to be transformeddefaultInput - the default input Effect to be used in
all cases where a filter has a null inputpublic ImageData filter(FilterContext fctx, BaseTransform transform, Rectangle outputClip, java.lang.Object renderHelper, Effect defaultInput)
EffectEffects 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 FilterEffect<RenderState>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 RenderState getRenderState(FilterContext fctx, BaseTransform transform, Rectangle outputClip, java.lang.Object renderHelper, Effect defaultInput)
FilterEffectFilterContext object may be null.
outputClip and renderHelper may always be null just
as they may be null for a given filter operation.getRenderState in class FilterEffect<RenderState>fctx - the context object that would be used by the Renderer
if this call is preparing for a render operation, or nulltransform - the transform for the output of this operationoutputClip - the clip rectangle that may restrict this operation, or nullrenderHelper - the rendering helper object that can be used to shortcut
this operation under certain conditions, or nulldefaultInput - the Effect to be used in place of any null inputspublic boolean reducesOpaquePixels()
EffectreducesOpaquePixels in class Effect