redraw full paragraphs only

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8912 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2004-08-13 21:20:29 +00:00
parent a4ea144c32
commit 9ccc43596c

View File

@ -855,17 +855,19 @@ int paintPars(BufferView const & bv, Painter & pain,
ParagraphList & pars = text.paragraphs(); ParagraphList & pars = text.paragraphs();
int y = pars[pit].y + text.yo_ - bv.top_y(); int y = pars[pit].y + text.yo_ - bv.top_y();
int const y2 = pain.paperHeight();
for (; pit != end; ++pit) { for (; pit != end; ++pit) {
RowList::iterator row = pars[pit].rows.begin(); RowList::iterator row = pars[pit].rows.begin();
RowList::iterator rend = pars[pit].rows.end(); RowList::iterator rend = pars[pit].rows.end();
// We draw full paragraphs to get the (xo, yo) cache of all
// contained insets right. This is needed for properly working
// editXY. And maybe not even sufficient.
// FIXME: Alfredo, please have a look at the coordinate business
// again.
for ( ; row != rend; ++row) { for ( ; row != rend; ++row) {
RowPainter(bv, pain, text, pit, row, y); RowPainter(bv, pain, text, pit, row, y);
y += row->height(); y += row->height();
if (y >= y2)
break;
} }
} }
@ -878,7 +880,6 @@ int paintPars(BufferView const & bv, Painter & pain,
void refreshPar(BufferView const & bv, LyXText const & text, par_type pit) void refreshPar(BufferView const & bv, LyXText const & text, par_type pit)
{ {
static NullPainter nop; static NullPainter nop;
paintPars(bv, nop, text, pit, pit + 1); paintPars(bv, nop, text, pit, pit + 1);
} }