fullLineRedraw = ((getStyle() & SWT.FULL_SELECTION) != 0 && lastLine > firstLine);
boolean fullLineRedraw = ((getStyle() & SWT.FULL_SELECTION) != 0 && lastLine > firstLine);
void redrawLines(int firstLine, int offsetInFirstLine, int lastLine, int endOffset, boolean clearBackground) {	String line = content.getLine(firstLine);	int lineCount = lastLine - firstLine + 1;	int redrawY, redrawWidth;	int lineOffset = content.getOffsetAtLine(firstLine);	boolean fullLineRedraw;	Rectangle clientArea = getClientArea();		fullLineRedraw = ((getStyle() & SWT.FULL_SELECTION) != 0 && lastLine > firstLine);	// if redraw range includes last character on the first line, 	// clear background to right widget border. fixes bug 19595.	if (clearBackground && endOffset - lineOffset >= line.length()) {		fullLineRedraw = true;	}		TextLayout layout = renderer.getTextLayout(line, lineOffset);	Rectangle rect = layout.getBounds(offsetInFirstLine, Math.min(endOffset, line.length()) - 1);	renderer.disposeTextLayout(layout);	rect.x -= horizontalScrollOffset;	rect.intersect(clientArea);	redrawY = firstLine * lineHeight - verticalScrollOffset;	redrawWidth = fullLineRedraw ? clientArea.width - leftMargin - rightMargin : rect.width;	draw(rect.x, redrawY, redrawWidth, lineHeight, clearBackground);		// redraw last line if more than one line needs redrawing 	if (lineCount > 1) {		lineOffset = content.getOffsetAtLine(lastLine);		int offsetInLastLine = endOffset - lineOffset;			// no redraw necessary if redraw offset is 0		if (offsetInLastLine > 0) {			line = content.getLine(lastLine);			// if redraw range includes last character on the last line, 			// clear background to right widget border. fixes bug 19595.			if (clearBackground && offsetInLastLine >= line.length()) {				fullLineRedraw = true;			}			line = content.getLine(lastLine);			layout = renderer.getTextLayout(line, lineOffset);			rect = layout.getBounds(0, offsetInLastLine - 1);			renderer.disposeTextLayout(layout);			rect.x -= horizontalScrollOffset;			rect.intersect(clientArea);			redrawY = lastLine * lineHeight - verticalScrollOffset;			redrawWidth = fullLineRedraw ? clientArea.width - leftMargin - rightMargin : rect.width;			draw(rect.x, redrawY, redrawWidth, lineHeight, clearBackground);		}	}}