[LyX/master] Small updates to painting analysis document
Jean-Marc Lasgouttes
lasgouttes at lyx.org
Sun Sep 10 17:07:36 UTC 2023
commit 9c49e72f7eaeb86b1f4f93d9d16e74d0db99f2d4
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Sep 10 20:24:39 2023 +0200
Small updates to painting analysis document
---
development/PAINTING_ANALYSIS | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/development/PAINTING_ANALYSIS b/development/PAINTING_ANALYSIS
index c4b396f..a506371 100644
--- a/development/PAINTING_ANALYSIS
+++ b/development/PAINTING_ANALYSIS
@@ -20,9 +20,9 @@ following section. Some actions are proposed.
** SinglePar update
-This flag only has an effect in the current BufferView, but I think it
-is useful in other views too. Doing this will require some work on the
-update pipeline, though.
+This flag only has an effect in the current BufferView and at
+top-level, but I think it is useful in other views too. Doing this
+will require some work on the update pipeline, though.
** Buffer::change issues
@@ -76,11 +76,8 @@ a lot the amount of stuff to redraw.
It should not be necessary to access the Paragraph object to draw.
Adding the static elements to Row is a lot of work, but worth it IMO.
-** do not add the vertical margin of main text to first/last row
-
-Would make code cleaner. Probably no so difficult.
-
** When a paragraph ends with a newline, compute correctly the height of the extra row.
+
** Merging bv::updateMetrics and tm::metrics
While the full metrics computation tries hard to limit the number of
@@ -148,6 +145,9 @@ tm::redoParagraph will call Inset::metrics for each inset. In the case
of text insets, this will invoke recursively tm::metrics, which redoes
all the paragraphs of the inset.
+Then, a single big row is created in tm::tokenizeParagraph, which is
+later broken in multiple rows by tm::breakParagraph.
+
At the end of the function, bv::updatePosCache is called. It triggers
a repaint of the document with a NullPainter (a painter that does
nothing). This has the effect of caching all insets positions.
More information about the lyx-cvs
mailing list