From e8a546dc66099534a72bf536383628ce18626a03 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 8 Jul 2009 00:14:41 +0000 Subject: Moved calculation of rectangular range from occurring after every style change to after the styles have been valided. Previously was very slow when setting monospaced font mode. Made more code sensitive to virtual spaces to draw caret and selection more accurately. --- src/Editor.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Editor.cxx') diff --git a/src/Editor.cxx b/src/Editor.cxx index eeee752a8..f1210e8c9 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -225,7 +225,6 @@ void Editor::InvalidateStyleData() { palette.Release(); llc.Invalidate(LineLayout::llInvalid); posCache.Clear(); - SetRectangularRange(); } void Editor::InvalidateStyleRedraw() { @@ -258,6 +257,7 @@ void Editor::RefreshStyleData() { wrapAddIndent = vs.aveCharWidth; // must indent to show start visual } SetScrollBars(); + SetRectangularRange(); } } @@ -3077,7 +3077,7 @@ void Editor::DrawCarets(Surface *surface, ViewStyle &vsDraw, int lineDoc, int xS if (widthOverstrikeCaret < 3) // Make sure its visible widthOverstrikeCaret = 3; - if (offset > ll->LineStart(subLine)) + if (posCaret > SelectionPosition(ll->LineStart(subLine) + rangeLine.start)) caretWidthOffset = 1; // Move back so overlaps both character cells. if (posDrag.IsValid()) { /* Dragging text, use a line caret */ -- cgit v1.2.3