diff options
Diffstat (limited to 'src/Editor.cxx')
| -rw-r--r-- | src/Editor.cxx | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index bb23e9e6d..34c195f3e 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -2743,7 +2743,7 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis  	// the color for the highest numbered one is used.  	bool overrideBackground = false;  	ColourDesired background; -	if (caret.active && vsDraw.showCaretLineBackground && (vsDraw.caretLineAlpha == SC_ALPHA_NOALPHA) && ll->containsCaret) { +	if ((caret.active || vsDraw.alwaysShowCaretLineBackground) && vsDraw.showCaretLineBackground && (vsDraw.caretLineAlpha == SC_ALPHA_NOALPHA) && ll->containsCaret) {  		overrideBackground = true;  		background = vsDraw.caretLineBackground;  	} @@ -3193,7 +3193,7 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis  	// Draw any translucent whole line states  	rcSegment = rcLine; -	if (caret.active && vsDraw.showCaretLineBackground && ll->containsCaret) { +	if ((caret.active || vsDraw.alwaysShowCaretLineBackground) && vsDraw.showCaretLineBackground && ll->containsCaret) {  		SimpleAlphaRectangle(surface, rcSegment, vsDraw.caretLineBackground, vsDraw.caretLineAlpha);  	}  	marks = pdoc->GetMark(line); @@ -3738,6 +3738,7 @@ long Editor::FormatRange(bool draw, Sci_RangeToFormat *pfr) {  	vsPrint.whitespaceBackgroundSet = false;  	vsPrint.whitespaceForegroundSet = false;  	vsPrint.showCaretLineBackground = false; +	vsPrint.alwaysShowCaretLineBackground = false;  	// Don't highlight matching braces using indicators  	vsPrint.braceHighlightIndicatorSet = false;  	vsPrint.braceBadLightIndicatorSet = false; @@ -8321,6 +8322,13 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  		vs.showCaretLineBackground = wParam != 0;  		InvalidateStyleRedraw();  		break; +	case SCI_GETCARETLINEVISIBLEALWAYS: +		return vs.alwaysShowCaretLineBackground; +	case SCI_SETCARETLINEVISIBLEALWAYS: +		vs.alwaysShowCaretLineBackground = wParam != 0; +		InvalidateStyleRedraw(); +		break; +  	case SCI_GETCARETLINEBACK:  		return vs.caretLineBackground.AsLong();  	case SCI_SETCARETLINEBACK:  | 
