aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/EditView.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-03-19 15:04:38 +1100
committerNeil <nyamatongwe@gmail.com>2021-03-19 15:04:38 +1100
commitdd9ae27be2d1b983638337f24685e6458360dfa3 (patch)
tree3b26625721b6704669c5a6d58d8a1199ad195afe /src/EditView.cxx
parent4b553e8fce75afd0ad0df2e752edafe739db44dc (diff)
downloadscintilla-mirror-dd9ae27be2d1b983638337f24685e6458360dfa3.tar.gz
Implement PopClip to allow local clipping.
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r--src/EditView.cxx7
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(