org.fife.ui.rtextarea
Class ChangeableHighlightPainter

java.lang.Object
  extended by javax.swing.text.LayeredHighlighter.LayerPainter
      extended by org.fife.ui.rtextarea.ChangeableHighlightPainter
All Implemented Interfaces:
java.io.Serializable, javax.swing.text.Highlighter.HighlightPainter
Direct Known Subclasses:
SmartHighlightPainter, SquiggleUnderlineHighlightPainter

public class ChangeableHighlightPainter
extends javax.swing.text.LayeredHighlighter.LayerPainter
implements java.io.Serializable

An extension of LayerPainter that allows the user to change several of its properties:

Version:
0.6
Author:
Robert Futrell
See Also:
Serialized Form

Constructor Summary
ChangeableHighlightPainter()
          Creates a new ChangableHighlightPainter that paints highlights with the text area's selection color (i.e., behaves exactly like javax.swing.text.DefaultHighlighter.DefaultHighlightPainter ).
ChangeableHighlightPainter(java.awt.Paint paint)
          Creates a new highlight painter using the specified Paint without rounded edges.
ChangeableHighlightPainter(java.awt.Paint paint, boolean rounded)
          Creates a new highlight painter.
ChangeableHighlightPainter(java.awt.Paint paint, boolean rounded, float alpha)
          Creates a new highlight painter.
 
Method Summary
 float getAlpha()
          Returns the alpha value used in computing the translucency of these highlights.
 java.awt.Paint getPaint()
          Returns the Paint (usually a java.awt.Color) being used to paint highlights.
 boolean getRoundedEdges()
          Returns whether rounded edges are used when painting selections with this highlight painter.
 void paint(java.awt.Graphics g, int offs0, int offs1, java.awt.Shape bounds, javax.swing.text.JTextComponent c)
          Paints a highlight.
 java.awt.Shape paintLayer(java.awt.Graphics g, int offs0, int offs1, java.awt.Shape bounds, javax.swing.text.JTextComponent c, javax.swing.text.View view)
          Paints a portion of a highlight.
 void setAlpha(float alpha)
          Sets the alpha value used in rendering highlights.
 void setPaint(java.awt.Paint paint)
          Sets the Paint (usually a java.awt.Color) used to paint this highlight.
 void setRoundedEdges(boolean rounded)
          Sets whether rounded edges are used when painting this highlight.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChangeableHighlightPainter

public ChangeableHighlightPainter()
Creates a new ChangableHighlightPainter that paints highlights with the text area's selection color (i.e., behaves exactly like javax.swing.text.DefaultHighlighter.DefaultHighlightPainter ).


ChangeableHighlightPainter

public ChangeableHighlightPainter(java.awt.Paint paint)
Creates a new highlight painter using the specified Paint without rounded edges.

Parameters:
paint - The Paint (usually a java.awt.Color) with which to paint the highlights.

ChangeableHighlightPainter

public ChangeableHighlightPainter(java.awt.Paint paint,
                                  boolean rounded)
Creates a new highlight painter.

Parameters:
paint - The Paint (usually a java.awt.Color) with which to paint the highlights.
rounded - Whether to use rounded edges on the highlights.

ChangeableHighlightPainter

public ChangeableHighlightPainter(java.awt.Paint paint,
                                  boolean rounded,
                                  float alpha)
Creates a new highlight painter.

Parameters:
paint - The Paint (usually a java.awt.Color) with which to paint the highlights.
rounded - Whether to use rounded edges on the highlights.
alpha - The alpha value to use when painting highlights. This value should be in the range 0.0f (completely transparent) through 1.0f (opaque).
Method Detail

getAlpha

public float getAlpha()
Returns the alpha value used in computing the translucency of these highlights. A value of 1.0f (the default) means that no translucency is used; there is no performance hit for this value. For all other values ([0.0f..1.0f)), there will be a performance hit.

Returns:
The alpha value.
See Also:
setAlpha(float)

getPaint

public java.awt.Paint getPaint()
Returns the Paint (usually a java.awt.Color) being used to paint highlights.

Returns:
The Paint.
See Also:
setPaint(java.awt.Paint)

getRoundedEdges

public boolean getRoundedEdges()
Returns whether rounded edges are used when painting selections with this highlight painter.

Returns:
Whether rounded edges are used.
See Also:
setRoundedEdges(boolean)

paint

public void paint(java.awt.Graphics g,
                  int offs0,
                  int offs1,
                  java.awt.Shape bounds,
                  javax.swing.text.JTextComponent c)
Paints a highlight.

Specified by:
paint in interface javax.swing.text.Highlighter.HighlightPainter
Parameters:
g - the graphics context
offs0 - the starting model offset >= 0
offs1 - the ending model offset >= offs1
bounds - the bounding box for the highlight
c - the editor

paintLayer

public java.awt.Shape paintLayer(java.awt.Graphics g,
                                 int offs0,
                                 int offs1,
                                 java.awt.Shape bounds,
                                 javax.swing.text.JTextComponent c,
                                 javax.swing.text.View view)
Paints a portion of a highlight.

Specified by:
paintLayer in class javax.swing.text.LayeredHighlighter.LayerPainter
Parameters:
g - the graphics context
offs0 - the starting model offset >= 0
offs1 - the ending model offset >= offs1
bounds - the bounding box of the view, which is not necessarily the region to paint.
c - the editor
view - View painting for
Returns:
region drawing occurred in

setAlpha

public void setAlpha(float alpha)
Sets the alpha value used in rendering highlights. If this value is 1.0f (the default), the highlights are rendered completely opaque. This behavior matches that of DefaultHighlightPainter and imposes no performance hit. If this value is below 1.0f, it represents how opaque the highlight will be. There will be a small performance hit for values less than 1.0f.

Parameters:
alpha - The new alpha value to use for transparency.
See Also:
getAlpha()

setPaint

public void setPaint(java.awt.Paint paint)
Sets the Paint (usually a java.awt.Color) used to paint this highlight.

Parameters:
paint - The new Paint.
See Also:
getPaint()

setRoundedEdges

public void setRoundedEdges(boolean rounded)
Sets whether rounded edges are used when painting this highlight.

Parameters:
rounded - Whether rounded edges should be used.
See Also:
getRoundedEdges()