diva.canvas.toolbox
Class BasicHighlighter

java.lang.Object
  extended by diva.canvas.AbstractFigure
      extended by diva.canvas.AbstractFigureContainer
          extended by diva.canvas.FigureDecorator
              extended by diva.canvas.toolbox.BasicHighlighter
All Implemented Interfaces:
CanvasComponent, Figure, FigureContainer, FigureSet, VisibleComponent, UserObjectContainer

public class BasicHighlighter
extends FigureDecorator

A decorator figure that displays a highlight behind the figure. The highlighter has several options to control the color, transparency, and "halo." Currently, this just displays a rectangle on the figure's bounding box, but this may be changed to take notice of the figure's shape in the future.

Version:
$Revision: 1.15 $
Author:
John Reekie

Constructor Summary
BasicHighlighter()
          Create a new highlighter with a default paint and "halo"
BasicHighlighter(Paint paint, float halo)
          Create a new highlighter with the given paint and "halo"
BasicHighlighter(Paint paint, float halo, Composite composite)
          Create a new highlighter with the given paint, "halo," and compositing operation.
 
Method Summary
 Rectangle2D getBounds()
          Get the bounds.
 Composite getComposite()
          Get the composite.
 float getHalo()
          Get the halo.
 Paint getPaint()
          Get the paint.
 boolean hit(Rectangle2D region)
          Return false.
 FigureDecorator newInstance(Figure f)
          Create a new instance of this highlighter.
 void paint(Graphics2D g)
          Paint the figure.
 void repaint()
          Request a repaint of the figure and highlight.
 void repaint(DamageRegion d)
          Receive repaint notification.
 
Methods inherited from class diva.canvas.FigureDecorator
add, contains, figures, figuresFromBack, figuresFromFront, getChild, getContainer, getDecoratedFigure, getFigureCount, getShape, remove, replaceChild, setChild, transform
 
Methods inherited from class diva.canvas.AbstractFigureContainer
decorate, pick, pick, translate, undecorate
 
Methods inherited from class diva.canvas.AbstractFigure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, getTransformContext, getUserObject, intersects, isVisible, paint, setInteractor, setParent, setToolTipText, setUserObject, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface diva.canvas.VisibleComponent
isVisible, paint, setVisible
 
Methods inherited from interface diva.canvas.CanvasComponent
getParent, getTransformContext
 

Constructor Detail

BasicHighlighter

public BasicHighlighter()
Create a new highlighter with a default paint and "halo"


BasicHighlighter

public BasicHighlighter(Paint paint,
                        float halo)
Create a new highlighter with the given paint and "halo"


BasicHighlighter

public BasicHighlighter(Paint paint,
                        float halo,
                        Composite composite)
Create a new highlighter with the given paint, "halo," and compositing operation.

Method Detail

getComposite

public Composite getComposite()
Get the composite.


getBounds

public Rectangle2D getBounds()
Get the bounds. This is the child's bounding box stretched by the "halo."

Specified by:
getBounds in interface Figure
Overrides:
getBounds in class FigureDecorator

getHalo

public float getHalo()
Get the halo.


getPaint

public Paint getPaint()
Get the paint.


hit

public boolean hit(Rectangle2D region)
Return false. This method always returns false, as it is meaningless (and dangerous!) to be able to hit a highlight.

Specified by:
hit in interface Figure
Overrides:
hit in class FigureDecorator

newInstance

public FigureDecorator newInstance(Figure f)
Create a new instance of this highlighter. The new instance will have the same paint, halo, and composite as this one.

Specified by:
newInstance in class FigureDecorator

paint

public void paint(Graphics2D g)
Paint the figure. This method first paints the highlight over the contained figure's bounding box stretched by the halo. It then paints the contained figure.

Specified by:
paint in interface VisibleComponent
Overrides:
paint in class FigureDecorator

repaint

public void repaint(DamageRegion d)
Receive repaint notification. This method generates another repaint() call, with a larger region, in order to ensure that the highlight is repainted.

Specified by:
repaint in interface CanvasComponent
Overrides:
repaint in class AbstractFigureContainer

repaint

public void repaint()
Request a repaint of the figure and highlight. This method reads the bounding box of the highlighted figure, and requests a repaint of that box stretched in each direction by the halo.

Specified by:
repaint in interface CanvasComponent
Overrides:
repaint in class AbstractFigure


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.