From dd9ae27be2d1b983638337f24685e6458360dfa3 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 19 Mar 2021 15:04:38 +1100 Subject: Implement PopClip to allow local clipping. --- src/EditView.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/EditView.cxx') 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( -- cgit v1.2.3