org.apache.pivot.wtk.effects
Class BlurDecorator

java.lang.Object
  extended by org.apache.pivot.wtk.effects.BlurDecorator
All Implemented Interfaces:
Decorator

public class BlurDecorator
extends Object
implements Decorator

Decorator that applies a blur to a component.

Blurs are given an integer magnitude, which represents the intensity of the blur. This value translates to a grid of pixels (blurMagnitude^2), where each pixel value is calculated by consulting its neighboring pixels according to the grid. Because of this, note that you will get "prettier" blurring if you choose odd values for the blur magnitude; this allows the pixel in question to reside at the center of the grid, thus preventing any arbitrary shifting of pixels. Also note that the greater the intensity of the blur, the greater the intensity of the calculations necessary to accomplish the blur (and the longer it will take to perform the blur).

TODO Increase size of buffered image to account for edge conditions of the blur.

TODO Use unequal values in the blur kernel to make pixels that are farther away count less towards the blur.


Constructor Summary
BlurDecorator()
          Creates a BlurDecorator with the default blur magnitude.
BlurDecorator(int blurMagnitude)
          Creates a BlurDecorator with the specified blur magnitude.
 
Method Summary
 Bounds getBounds(Component component)
          Returns the bounding area of the decorator.
 AffineTransform getTransform(Component component)
          Returns the transformation the decorator applies to the component's coordinate space.
 Graphics2D prepare(Component component, Graphics2D graphicsArgument)
          Prepares the graphics context into which the component or prior decorator will paint.
 void update()
          Updates the graphics context into which the component or prior decorator was painted.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlurDecorator

public BlurDecorator()
Creates a BlurDecorator with the default blur magnitude.

See Also:
BlurDecorator(int)

BlurDecorator

public BlurDecorator(int blurMagnitude)
Creates a BlurDecorator with the specified blur magnitude.

Parameters:
blurMagnitude - The intensity of the blur.
Method Detail

prepare

public Graphics2D prepare(Component component,
                          Graphics2D graphicsArgument)
Description copied from interface: Decorator
Prepares the graphics context into which the component or prior decorator will paint. This method is called immediately prior to Component.paint(Graphics2D); decorators are called in descending order.

Specified by:
prepare in interface Decorator
Returns:
The graphics context that should be used by the component or prior decorators.

update

public void update()
Description copied from interface: Decorator
Updates the graphics context into which the component or prior decorator was painted. This method is called immediately after Component.paint(Graphics2D); decorators are called in ascending order.

Specified by:
update in interface Decorator

getBounds

public Bounds getBounds(Component component)
Description copied from interface: Decorator
Returns the bounding area of the decorator.

Specified by:
getBounds in interface Decorator
Returns:
The decorator's bounds, relative to the component's origin.

getTransform

public AffineTransform getTransform(Component component)
Description copied from interface: Decorator
Returns the transformation the decorator applies to the component's coordinate space.

Specified by:
getTransform in interface Decorator
Returns:
The decorator's transform.