diff options
author | nyamatongwe <unknown> | 2006-12-28 23:00:32 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2006-12-28 23:00:32 +0000 |
commit | da1ad1ff7405b0b6ee3b02e1d07b83b617d53c9b (patch) | |
tree | 2c314e2385e119e07f52371502742b8213dcf16b /src/Editor.cxx | |
parent | c6b7c5cc5e9241b3f207637de4ad790214f112ed (diff) | |
download | scintilla-mirror-da1ad1ff7405b0b6ee3b02e1d07b83b617d53c9b.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.cxx | 23 |
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); |