# Class CursorLinePainter

java.lang.Object
org.eclipse.jface.text.CursorLinePainter

All Implemented Interfaces:
  `EventListener, IPainter, LineBackgroundListener`

public class CursorLinePainter extends Object implements IPainter, LineBackgroundListener
A painter the draws the background of the caret line in a configured color.

Clients usually instantiate and configure object of this class.

This class is not intended to be subclassed.

Since:
  2.1
Restriction:
  This class is not intended to be subclassed by clients.

## Field Summary

### Fields inherited from interface IPainter

`CONFIGURATION, INTERNAL, KEY_STROKE, MOUSE_BUTTON, SELECTION, TEXT_CHANGE`

## Constructor Summary

Constructors
Constructor
Description
`CursorLinePainter(ITextViewer textViewer)`
Creates a new painter for the given source viewer.

## Method Summary

Modifier and Type
Method
Description
`void`
`deactivate(boolean redraw)`
Deactivates this painter.
`void`
`dispose()`
Disposes this painter.
`void`
`lineGetBackground(LineBackgroundEvent event)`
This method is called when a line is about to be drawn in order to get its background color.
`void`
`paint(int reason)`
Requests this painter to repaint because of the given reason.
`void`
`setHighlightColor(Color highlightColor)`
Sets the color in which to draw the background of the cursor line.
`void`
`setPositionManager(IPaintPositionManager manager)`
Sets the paint position manager that can be used by this painter or removes any previously set paint position manager.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CursorLinePainter

public CursorLinePainter(ITextViewer textViewer)
Creates a new painter for the given source viewer.

Parameters:
  `textViewer` - the source viewer for which to create a painter

## Method Details

### setHighlightColor

public void setHighlightColor(Color highlightColor)
Sets the color in which to draw the background of the cursor line.

Parameters:
  `highlightColor` - the color in which to draw the background of the cursor line

### lineGetBackground

public void lineGetBackground(LineBackgroundEvent event)
Description copied from interface: `LineBackgroundListener`
This method is called when a line is about to be drawn in order to get its background color.

The following event fields are used:

- event.lineOffset line start offset (input)
- event.lineText line text (input)
- event.lineBackground line background color (output)

Specified by:
  `lineGetBackground` in interface `LineBackgroundListener`
Parameters:
  `event` - the given event
See Also:
  - `LineBackgroundEvent`

### deactivate

public void deactivate(boolean redraw)
Description copied from interface: `IPainter`
Deactivates this painter. If the painter is inactive, this call does not have any effect. `redraw` indicates whether the painter should remove any decoration it previously applied. A deactivated painter can be reactivated by calling `paint`.

Specified by:
  `deactivate` in interface `IPainter`
Parameters:
  `redraw` - `true` if any previously applied decoration should be removed
See Also:
  - `IPainter.paint(int)`

### dispose

public void dispose()
Description copied from interface: `IPainter`
Disposes this painter. Prior to disposing, a painter should be deactivated. A disposed painter can not be reactivated.

Specified by:
  `dispose` in interface `IPainter`
See Also:
  - `IPainter.deactivate(boolean)`

### paint

public void paint(int reason)
Description copied from interface: `IPainter`
Requests this painter to repaint because of the given reason. Based on the given reason the painter can decide whether it will repaint or not. If it repaints and is inactive, it will activate itself.

Specified by:
  `paint` in interface `IPainter`
Parameters:
  `reason` - the repaint reason, value is one of the constants defined in this interface

### setPositionManager

public void setPositionManager(IPaintPositionManager manager)
Description copied from interface: `IPainter`
Sets the paint position manager that can be used by this painter or removes any previously set paint position manager.

Specified by:
  `setPositionManager` in interface `IPainter`
Parameters:
  `manager` - the paint position manager or `null`