diff options
author | Neil <nyamatongwe@gmail.com> | 2021-03-19 15:04:38 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-03-19 15:04:38 +1100 |
commit | dd9ae27be2d1b983638337f24685e6458360dfa3 (patch) | |
tree | 3b26625721b6704669c5a6d58d8a1199ad195afe /src/EditView.cxx | |
parent | 4b553e8fce75afd0ad0df2e752edafe739db44dc (diff) | |
download | scintilla-mirror-dd9ae27be2d1b983638337f24685e6458360dfa3.tar.gz |
Implement PopClip to allow local clipping.
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r-- | src/EditView.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx index 16614de48..5d15abf12 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -2246,7 +2246,8 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan // Remove selection margin from drawing area so text will not be drawn // on it in unbuffered mode. - if (!bufferedDraw && vsDraw.marginInside) { + const bool clipping = !bufferedDraw && vsDraw.marginInside; + if (clipping) { PRectangle rcClipText = rcTextArea; rcClipText.left -= leftTextOverlap; surfaceWindow->SetClip(rcClipText); @@ -2394,6 +2395,10 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan } } } + + if (clipping) + surfaceWindow->PopClip(); + //Platform::DebugPrintf("start display %d, offset = %d\n", model.pdoc->Length(), model.xOffset); #if defined(TIME_PAINTING) Platform::DebugPrintf( |