aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2006-12-28 23:00:32 +0000
committernyamatongwe <devnull@localhost>2006-12-28 23:00:32 +0000
commit14521a683cbdd6574c9bd38309166d96fc295168 (patch)
tree2c314e2385e119e07f52371502742b8213dcf16b /src/Editor.cxx
parent703e1f60c8183a7d1a747792e64f649c95a41f7c (diff)
downloadscintilla-mirror-14521a683cbdd6574c9bd38309166d96fc295168.tar.gz
Patch from Jason Haslam to optionally extend selection colour to left side when
end of line selected.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index bcaa8f839..b2d29da13 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -2273,6 +2273,21 @@ void Editor::DrawEOL(Surface *surface, ViewStyle &vsDraw, PRectangle rcLine, Lin
surface->FillRectangle(rcSegment, vsDraw.styles[STYLE_DEFAULT].back.allocated);
}
+ if (vsDraw.selEOLFilled && eolInSelection && vsDraw.selbackset && (line < pdoc->LinesTotal() - 1) && (vsDraw.selAlpha == SC_ALPHA_NOALPHA)) {
+ surface->FillRectangle(rcSegment, SelectionBackground(vsDraw));
+ } else {
+ if (overrideBackground) {
+ surface->FillRectangle(rcSegment, background);
+ } else if (vsDraw.styles[ll->styles[ll->numCharsInLine] & styleMask].eolFilled) {
+ surface->FillRectangle(rcSegment, vsDraw.styles[ll->styles[ll->numCharsInLine] & styleMask].back.allocated);
+ } else {
+ surface->FillRectangle(rcSegment, vsDraw.styles[STYLE_DEFAULT].back.allocated);
+ }
+ if (vsDraw.selEOLFilled && eolInSelection && vsDraw.selbackset && (line < pdoc->LinesTotal() - 1) && (vsDraw.selAlpha != SC_ALPHA_NOALPHA)) {
+ SimpleAlphaRectangle(surface, rcSegment, SelectionBackground(vsDraw), vsDraw.selAlpha);
+ }
+ }
+
if (drawWrapMarkEnd) {
PRectangle rcPlace = rcSegment;
@@ -6898,6 +6913,14 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_GETSELALPHA:
return vs.selAlpha;
+ case SCI_GETSELEOLFILLED:
+ return vs.selEOLFilled;
+
+ case SCI_SETSELEOLFILLED:
+ vs.selEOLFilled = wParam != 0;
+ InvalidateStyleRedraw();
+ break;
+
case SCI_SETWHITESPACEFORE:
vs.whitespaceForegroundSet = wParam != 0;
vs.whitespaceForeground.desired = ColourDesired(lParam);