Class BasicHighlighter

    • Constructor Detail

      • BasicHighlighter

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

        public BasicHighlighter​(java.awt.Paint paint,
                                float halo)
        Create a new highlighter with the given paint and "halo"
      • BasicHighlighter

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

        public BasicHighlighter​(java.awt.Paint paint,
                                float halo,
                                java.awt.Composite composite,
                                java.awt.Stroke stroke)
        Create a new highlighter with the given paint, "halo," compositing operation, and stroke. This highlighter draws an outline only and does not fill it.
    • Method Detail

      • getComposite

        public java.awt.Composite getComposite()
        Get the composite.
      • getBounds

        public java.awt.geom.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
        Returns:
        the bounding box of this figure.
      • getHalo

        public float getHalo()
        Get the halo.
      • getPaint

        public java.awt.Paint getPaint()
        Get the paint.
      • getStroke

        public java.awt.Stroke getStroke()
        Get the stroke.
      • 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 interface Figure
        Overrides:
        hit in class FigureDecorator
        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. The new instance will have the same paint, halo, and composite as this one.
        Specified by:
        newInstance in class FigureDecorator
        Parameters:
        f - The figure
        Returns:
        The new instance of the figure decorator.
      • paint

        public void paint​(java.awt.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
        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 interface CanvasComponent
        Overrides:
        repaint in class AbstractFigureContainer
        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 interface CanvasComponent
        Overrides:
        repaint in class AbstractFigure