Top Description Constructors Methods
com.sun.scenario.effect

public Class Merge

extends CoreEffect<RenderState>
Class Inheritance
Imports
com.sun.javafx.geom.Point2D, .Rectangle, com.sun.javafx.geom.transform.BaseTransform, com.sun.scenario.effect.impl.state.RenderState

An effect that merges two inputs together into one result. This produces the same result as using the Blend effect with Blend.Mode.SRC_OVER and opacity=1.0, except possibly more efficient.

Constructor Summary

AccessConstructor and Description
public
Merge(Effect
the bottom input
bottomInput
,
Effect
the top input
topInput
)

Constructs a new Merge effect for the given inputs.

Method Summary

Modifier and TypeMethod and Description
public ImageData
filter(FilterContext
the FilterContext that determines the environment (e.g. the graphics device or code path) on which the filter operation will be performed
fctx
,
BaseTransform
an optional transform under which the filter and its inputs will be viewed
transform
,
Rectangle
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.
outputClip
,
Object
an object which might be used to render the results of the effect directly.
renderHelper
,
Effect
the default input Effect to be used in all cases where a filter has a null input.
defaultInput
)

Overrides com.sun.scenario.effect.FilterEffect.filter.

Applies this filter effect to the series of images represented by the input Effects and/or the given defaultInput viewed under the given transform.

public final Effect

Returns:

the bottom input for this Effect
getBottomInput
()

Returns the bottom input for this Effect.

public RenderState
getRenderState(FilterContext
the context object that would be used by the Renderer if this call is preparing for a render operation, or null
fctx
,
BaseTransform
the transform for the output of this operation
transform
,
Rectangle
the clip rectangle that may restrict this operation, or null
outputClip
,
Object
the rendering helper object that can be used to shortcut this operation under certain conditions, or null
renderHelper
,
Effect
the Effect to be used in place of any null inputs
defaultInput
)

Implements abstract com.sun.scenario.effect.FilterEffect.getRenderState.

Returns the object representing the rendering strategy and state for the filter operation characterized by the specified arguments.

public final Effect

Returns:

the top input for this Effect
getTopInput
()

Returns the top input for this Effect.

public boolean
reducesOpaquePixels()

Implements abstract com.sun.scenario.effect.Effect.reducesOpaquePixels.

Whether an opacity for any pixel is different (lower) than the corresponding pixel in the default input.

public void
setBottomInput(Effect
the bottom input for this Effect
bottomInput
)

Sets the bottom input for this Effect to a specific Effect or to the default input if input is null.

public void
setTopInput(Effect
the top input for this Effect
topInput
)

Sets the top input for this Effect to a specific Effect or to the default input if input is null.

public Point2D

Returns:

the transformed point in the coordinate space of the result
transform
(Point2D
the point in the coordinate space of the primary content input to be transformed
p
,
Effect
the default input Effect to be used in all cases where a filter has a null input
defaultInput
)

Overrides com.sun.scenario.effect.FilterEffect.transform.

Transform the specified point p from the coordinate space of the primary content input to the coordinate space of the effect output.

public Point2D

Returns:

the untransformed point in the coordinate space of the primary content input
untransform
(Point2D
the point in the coordinate space of the result output to be transformed
p
,
Effect
the default input Effect to be used in all cases where a filter has a null input
defaultInput
)

Overrides com.sun.scenario.effect.FilterEffect.untransform.

Transform the specified point p from the coordinate space of the output of the effect into the coordinate space of the primary content input.

Inherited from com.sun.scenario.effect.CoreEffect:
filterImageDatasgetAccelTypegetPeerupdatePeerKeyupdatePeerKey

Constructor Detail

Mergeback to summary
public Merge(Effect bottomInput, Effect topInput)

Constructs a new Merge effect for the given inputs.

Parameters
bottomInput:Effect

the bottom input

topInput:Effect

the top input

Method Detail

filterback to summary
public ImageData filter(FilterContext fctx, BaseTransform transform, Rectangle outputClip, Object renderHelper, Effect defaultInput)

Overrides com.sun.scenario.effect.FilterEffect.filter.

Doc from com.sun.scenario.effect.Effect.filter.

Applies this filter effect to the series of images represented by the input Effects 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);
      

Parameters
fctx:FilterContext

the FilterContext that determines the environment (e.g. the graphics device or code path) on which the filter operation will be performed

transform:BaseTransform

an optional transform under which the filter and its inputs will be viewed

outputClip:Rectangle

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:Object

an object which might be used to render the results of the effect directly.

defaultInput:Effect

the default input Effect to be used in all cases where a filter has a null input.

Returns:ImageData

the 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.

Annotations
@Override
getBottomInputback to summary
public final Effect getBottomInput()

Returns the bottom input for this Effect.

Returns:Effect

the bottom input for this Effect

getRenderStateback to summary
public RenderState getRenderState(FilterContext fctx, BaseTransform transform, Rectangle outputClip, Object renderHelper, Effect defaultInput)

Implements abstract com.sun.scenario.effect.FilterEffect.getRenderState.

Doc from com.sun.scenario.effect.FilterEffect.getRenderState.

Returns the object representing the rendering strategy and state for the filter operation characterized by the specified arguments. This call can also be used to get a state object for non-rendering cases like querying the bounds of an operation in which case the FilterContext object may be null. outputClip and renderHelper may always be null just as they may be null for a given filter operation.

Parameters
fctx:FilterContext

the context object that would be used by the Renderer if this call is preparing for a render operation, or null

transform:BaseTransform

the transform for the output of this operation

outputClip:Rectangle

the clip rectangle that may restrict this operation, or null

renderHelper:Object

the rendering helper object that can be used to shortcut this operation under certain conditions, or null

defaultInput:Effect

the Effect to be used in place of any null inputs

Annotations
@Override
getTopInputback to summary
public final Effect getTopInput()

Returns the top input for this Effect.

Returns:Effect

the top input for this Effect

reducesOpaquePixelsback to summary
public boolean reducesOpaquePixels()

Implements abstract com.sun.scenario.effect.Effect.reducesOpaquePixels.

Doc from com.sun.scenario.effect.Effect.reducesOpaquePixels.

Whether an opacity for any pixel is different (lower) than the corresponding pixel in the default input. It is always safe to return true from this method, though the consequences may be that the caller chooses to not utilize a planned optimization.

Returns:boolean

true if this effect may reduce opacity of some pixels of one of it's input (and thus the default input) or it's relevant input(s) might have reduced opaque pixels of the default input already.

Annotations
@Override
setBottomInputback to summary
public void setBottomInput(Effect bottomInput)

Sets the bottom input for this Effect to a specific Effect or to the default input if input is null.

Parameters
bottomInput:Effect

the bottom input for this Effect

setTopInputback to summary
public void setTopInput(Effect topInput)

Sets the top input for this Effect to a specific Effect or to the default input if input is null.

Parameters
topInput:Effect

the top input for this Effect

transformback to summary
public Point2D transform(Point2D p, Effect defaultInput)

Overrides com.sun.scenario.effect.FilterEffect.transform.

Transform the specified point 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.

Parameters
p:Point2D

the point in the coordinate space of the primary content input to be transformed

defaultInput:Effect

the default input Effect to be used in all cases where a filter has a null input

Returns:Point2D

the transformed point in the coordinate space of the result

Annotations
@Override
untransformback to summary
public Point2D untransform(Point2D p, Effect defaultInput)

Overrides com.sun.scenario.effect.FilterEffect.untransform.

Transform the specified point 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.

Parameters
p:Point2D

the point in the coordinate space of the result output to be transformed

defaultInput:Effect

the default input Effect to be used in all cases where a filter has a null input

Returns:Point2D

the untransformed point in the coordinate space of the primary content input

Annotations
@Override