Martin Vermeer wrote:
On Tue, Aug 28, 2007 at 04:39:47PM +0000, [EMAIL PROTECTED] wrote:
Author: younes
Date: Tue Aug 28 18:39:46 2007
New Revision: 19859

URL: http://www.lyx.org/trac/changeset/19859
Log:
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.
After a long journey through the desert, got it rebuilt and confirmed
what the reason was that 'cursor_on_row' was needed in the first place.
Just turn change tracking on and try to delete characters from a row.
Neither the row signature nor its metric changes... just some black characters turning blue. And after this patch, _this does not show_, as
the row isn't refreshed anymore.
Ah, OK thanks for the hint. I knew there was a reason but I also knew it was wrong to do this checking,

If you don't want cursor_on_row back, consider making the row signature
sensitive to change tracking.
Yes, that's the proper solution even though I am not sure I can understand the change tracking code... FYI, I want drawing to be as dumb as possible; I want everything screen related to be decided at metrics update time. That's where I am heading with these cleanups. I believe we won't need the singlePar optimisation anymore when I'm done because every ParagraphMetrics will know exactly which row needs to be redrawn.

Abdel.

Reply via email to