http://www.jpicedt.org

jpicedt.graphic.view.highlighter
Interface Highlighter

All Known Implementing Classes:
AbstractCurveHighlighter, CircleHighlighter, CompositeHighlighter, DefaultHighlighter, EllipseHighlighter, PsCurveHighlighter, SmoothPolygonHighlighter, TextHighlighter

public interface Highlighter

a view dedicated to painting an Element's highlighter, e.g. when the Element is selected. This is a delegate for a hosting View, and is created by a dedicated HighlighterFactory.
This highlighter should provide the following capabilities :

Since:
jpicedt 1.4
Version:
$Id: Highlighter.java,v 1.6 2013/03/27 06:54:21 vincentb1 Exp $
Author:
Sylvain Reynal

Method Summary
 void changedUpdate(DrawingEvent.EventType eventType, double scale)
          Give notification from the model that a change occured for an element's highlighting this highlighter is responsible for rendering.
 Rectangle2D getBounds()
          Returns the bounds of this Highlighter
This will determine the clipping rectangle passed as a parameter to repaint in the hosting view
 Element getElement()
          returns the higlighted Element
 HighlighterFactory getHighlighterFactory()
          Fetches the HighlighterFactory implementation that is feeding the view hierarchy.
 HitInfo hitTest(PEMouseEvent e)
          Returns a HitInfo corresponding to the given mouse-event on this Highlighter.
 boolean intersect(Rectangle2D r, ArrayList<Element> list)
          If this highligher intersects the given rectangle, add the associated Element (or a child Element if it's more appropriate, for instance for composite views) to the given list (if non-null), and returns true.
 void paint(Graphics2D g, Rectangle2D allocation, double scale)
          Render the Highlighter to the given graphic context.
 

Method Detail

getHighlighterFactory

HighlighterFactory getHighlighterFactory()
Fetches the HighlighterFactory implementation that is feeding the view hierarchy.

Returns:
the factory, null if none

getElement

Element getElement()
returns the higlighted Element


changedUpdate

void changedUpdate(DrawingEvent.EventType eventType,
                   double scale)
Give notification from the model that a change occured for an element's highlighting this highlighter is responsible for rendering.


paint

void paint(Graphics2D g,
           Rectangle2D allocation,
           double scale)
Render the Highlighter to the given graphic context.

Parameters:
allocation - current clipping
scale - The current scale factor from model to screen for the Graphics2D context ; this may be used to scale down line thickess, etc... so that lines/rectangle/... appear with the same lenght on the screen whatever the scale factor that's set to the graphic context.

getBounds

Rectangle2D getBounds()
Returns the bounds of this Highlighter
This will determine the clipping rectangle passed as a parameter to repaint in the hosting view


hitTest

HitInfo hitTest(PEMouseEvent e)
Returns a HitInfo corresponding to the given mouse-event on this Highlighter.


intersect

boolean intersect(Rectangle2D r,
                  ArrayList<Element> list)
If this highligher intersects the given rectangle, add the associated Element (or a child Element if it's more appropriate, for instance for composite views) to the given list (if non-null), and returns true.


http://www.jpicedt.org

Submit a bug : syd@jpicedt.org