Package ptolemy.vergil.unit
Class BasicEdgeHighlighter
- java.lang.Object
-
- diva.canvas.AbstractFigure
-
- diva.canvas.AbstractFigureContainer
-
- diva.canvas.FigureDecorator
-
- ptolemy.vergil.unit.BasicEdgeHighlighter
-
- All Implemented Interfaces:
CanvasComponent
,Figure
,FigureContainer
,FigureSet
,VisibleComponent
,UserObjectContainer
public class BasicEdgeHighlighter extends FigureDecorator
A decorator figure that displays a highlight behind an edge. This capability was planned for BasicHighlighter but there doesn't seem to be an easy way to determine that an edge is being painted. This class is a stripped down version of BasicHighlighter with the paint method modified so that it assumes that an edge is being highlighted.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Rowland R Johnson
- Pt.AcceptedRating:
- Red (rowland)
- Pt.ProposedRating:
- Red (rowland)
-
-
Constructor Summary
Constructors Constructor Description BasicEdgeHighlighter()
Create a new highlighter with a default paint, "halo", and stroke.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hit(java.awt.geom.Rectangle2D region)
Return false.FigureDecorator
newInstance(Figure f)
Create a new instance of this highlighter.void
paint(java.awt.Graphics2D g)
Paint the edge.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, getBounds, getChild, getContainer, getDecoratedFigure, getFigureCount, getShape, remove, replaceChild, setChild, transform, translate
-
Methods inherited from class diva.canvas.AbstractFigureContainer
decorate, pick, pick, 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.CanvasComponent
getTransformContext
-
Methods inherited from interface diva.canvas.VisibleComponent
isVisible, paint, setVisible
-
-
-
-
Method Detail
-
hit
public boolean hit(java.awt.geom.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 interfaceFigure
- Overrides:
hit
in classFigureDecorator
- Parameters:
region
- The rectangle to be checked.- Returns:
- true if the figure is hit by the given rectangle.
-
newInstance
public FigureDecorator newInstance(Figure f)
Create a new instance of this highlighter.- Specified by:
newInstance
in classFigureDecorator
- Parameters:
f
- The figure- Returns:
- The new instance of the figure decorator.
-
paint
public void paint(java.awt.Graphics2D g)
Paint the edge. This method first paints the highlight over the contained edge by drawing a line width determined by halo. It then paints the contained edge.- Specified by:
paint
in interfaceVisibleComponent
- Overrides:
paint
in classFigureDecorator
- Parameters:
g
- The Graphics context
-
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 interfaceCanvasComponent
- Overrides:
repaint
in classAbstractFigureContainer
- Parameters:
d
- The region where a repaint has occurred.
-
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 interfaceCanvasComponent
- Overrides:
repaint
in classAbstractFigure
-
-