From: Abdelrazak Younes Date: Tue, 28 Aug 2007 16:39:46 +0000 (+0000) Subject: We are not forced to redraw the row each time the cursor is moved. X-Git-Tag: 1.6.10~8658 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=5440aad9286ae7905ec6b0c29248ca41aaa0a4bf;p=lyx.git We are not forced to redraw the row each time the cursor is moved. * TextMetrics.cpp: CursorOnRow() removed. * TextMetrics::drawParagraph() do not check cursor position. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19859 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index b0f09deef5..dc9499849f 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -976,26 +976,6 @@ void TextMetrics::draw(PainterInfo & pi, int x, int y) const } } -namespace { - -bool CursorOnRow(PainterInfo & pi, pit_type const pit, - RowList::const_iterator rit, Text const & text) -{ - // Is there a cursor on this row (or inside inset on row) - Cursor & cur = pi.base.bv->cursor(); - for (size_type d = 0; d < cur.depth(); ++d) { - CursorSlice const & sl = cur[d]; - if (sl.text() == &text - && sl.pit() == pit - && sl.pos() >= rit->pos() - && sl.pos() <= rit->endpos()) - return true; - } - return false; -} - -} // namespace anon - void TextMetrics::drawParagraph(PainterInfo & pi, pit_type pit, int x, int y, bool repaintAll) const @@ -1021,12 +1001,10 @@ void TextMetrics::drawParagraph(PainterInfo & pi, pit_type pit, int x, int y, // Row signature; has row changed since last paint? bool row_has_changed = pm.rowChangeStatus()[rowno]; - bool cursor_on_row = CursorOnRow(pi, pit, rit, *text_); - // If selection is on, the current row signature differs // from cache, or cursor is inside an inset _on this row_, // then paint the row - if (repaintAll || row_has_changed || cursor_on_row) { + if (repaintAll || row_has_changed) { bool const inside = (y + rit->descent() >= 0 && y - rit->ascent() < ww); // it is not needed to draw on screen if we are not inside. @@ -1046,8 +1024,7 @@ void TextMetrics::drawParagraph(PainterInfo & pi, pit_type pit, int x, int y, LYXERR(Debug::PAINTING) << "#"; else LYXERR(Debug::PAINTING) << "[" << - repaintAll << row_has_changed << - cursor_on_row << "]"; + repaintAll << row_has_changed << "]"; } rp.paintAppendix(); rp.paintDepthBar();