commit bf9b4a0836f23082b68a6a42d048a54333721e8e
Merge: ae56fb6 2f8ea7b
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Tue Dec 7 17:06:21 2021 +0100
Merge branch 'breakrows'
With this merge, the way paragraphs are typeset changes. Paragraphs
are first tolenized as row elements, and these elements are then
broken into separate rows as needed to fit the margins. This allows to
reduce the amount of metrics computation and make LyX much faster in
the case of large insets.
Moreover, the code relies more on RofFlags enum, which desribes how an
inset or a row element should be typset. This aspect will be extended
in the future.
Some user for whom performance is very bad (which I cannot reproduce
unfortunately) have reported a 4-fold speedup. In general cases, the
speedup will be less impressive but still noticeable.
Related to bugs #12297 and #5861.
development/PAINTING_ANALYSIS | 7 +-
src/Makefile.am | 1 +
src/ParagraphMetrics.h | 9 -
src/Row.cpp | 256 ++++++++++++++++-----------
src/Row.h | 109 +++++++-----
src/RowFlags.h | 61 +++++++
src/TextMetrics.cpp | 338 +++++++++++++++++++++++-----------
src/TextMetrics.h | 9 +-
src/frontends/FontMetrics.h | 23 ++-
src/frontends/qt/GuiFontMetrics.cpp | 177 +++++++++++++------
src/frontends/qt/GuiFontMetrics.h | 20 ++-
src/insets/Inset.h | 37 +----
src/insets/InsetBibtex.h | 2 +-
src/insets/InsetCaption.h | 2 +-
src/insets/InsetFloatList.h | 2 +-
src/insets/InsetInclude.cpp | 2 +-
src/insets/InsetInclude.h | 2 +-
src/insets/InsetIndex.h | 2 +-
src/insets/InsetListings.cpp | 2 +-
src/insets/InsetListings.h | 2 +-
src/insets/InsetNewline.cpp | 9 +
src/insets/InsetNewline.h | 2 +-
src/insets/InsetNewpage.h | 2 +-
src/insets/InsetNomencl.h | 2 +-
src/insets/InsetSeparator.h | 2 +-
src/insets/InsetSpace.cpp | 2 +-
src/insets/InsetSpace.h | 2 +-
src/insets/InsetSpecialChar.cpp | 2 +-
src/insets/InsetSpecialChar.h | 2 +-
src/insets/InsetTOC.h | 2 +-
src/insets/InsetTabular.cpp | 30 ++--
src/insets/InsetTabular.h | 2 +-
src/insets/InsetVSpace.h | 2 +-
src/mathed/InsetMathHull.cpp | 2 +-
src/mathed/InsetMathHull.h | 2 +-
35 files changed, 713 insertions(+), 415 deletions(-)
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs