lyx_mirror/src/mathed
Jean-Marc Lasgouttes efc7359015 three-stage drawing: add a nodraw stage
Normally the two stages of drawing are
1/ compute metrics of insets/rows/paragraphs/mathrow...
2/ draw the elements and cache their positions

Now the three stages are
1/ metrics
2/ nodraw: do not draw the elements, but cache their position
3/ draw the elements (and store again their position; it does not
   seems to hurt performance).

Revive the NullPainter: this replaces the setDrawingEnabled mechanism
with a painter that does nothing. The advantage is that updatePosCache
(renamed from setPosCache) does not need anymore to be invoked from
the frontend.

updatePosCache (the nodraw stage) is called at the end of
BufferView::updateMetrics.
2017-08-29 16:37:07 +02:00
..
BUGS
CMakeLists.txt Remove InsetMathXYArrow 2016-06-16 20:39:32 +02:00
InsetMath.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMath.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathAMSArray.cpp InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathAMSArray.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathArray.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathArray.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathBig.cpp Implement mathClass() for \big and friends 2017-01-12 10:28:52 +01:00
InsetMathBig.h Implement mathClass() for \big and friends 2017-01-12 10:28:52 +01:00
InsetMathBoldSymbol.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathBoldSymbol.h
InsetMathBox.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathBox.h Linearize macros in box edit mode too. 2017-03-23 10:17:07 +01:00
InsetMathBrace.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathBrace.h
InsetMathCancel.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathCancel.h
InsetMathCancelto.cpp Rename InsetMathNest::metrics to cellsMetrics 2017-01-12 11:22:51 +01:00
InsetMathCancelto.h Convert remaining C++ files to UTF-8 2015-12-05 19:33:24 +00:00
InsetMathCases.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathCases.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathChar.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathChar.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathClass.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathClass.h Add support for \mathbin and friends 2016-11-16 15:21:53 +01:00
InsetMathColor.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathColor.h
InsetMathCommand.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathCommand.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathComment.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathComment.h
InsetMathDecoration.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
InsetMathDecoration.h
InsetMathDelim.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathDelim.h Linearize macros in box edit mode too. 2017-03-23 10:17:07 +01:00
InsetMathDiagram.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathDiagram.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
InsetMathDiff.cpp
InsetMathDiff.h
InsetMathDots.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathDots.h
InsetMathEnsureMath.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathEnsureMath.h
InsetMathEnv.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathEnv.h
InsetMathExFunc.cpp
InsetMathExFunc.h
InsetMathExInt.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathExInt.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathFont.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathFont.h Fix display and export of some latex macros 2016-09-10 18:32:44 +02:00
InsetMathFontOld.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathFontOld.h Remove a conversion to_utf8() inside FontSetChanger 2016-06-13 08:46:15 +01:00
InsetMathFrac.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
InsetMathFrac.h Give 4 edit markers to all Frac-like insets 2017-06-14 15:38:47 +02:00
InsetMathGrid.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathGrid.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathHull.cpp Make "devel mode" configurable at run time 2017-07-24 22:00:44 +02:00
InsetMathHull.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathKern.cpp Status bar information for InsetMathKern 2016-12-27 19:25:46 +01:00
InsetMathKern.h Status bar information for InsetMathKern 2016-12-27 19:25:46 +01:00
InsetMathLefteqn.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathLefteqn.h
InsetMathLim.cpp
InsetMathLim.h
InsetMathMacro.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathMacro.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathMacroArgument.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathMacroArgument.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathMacroTemplate.cpp three-stage drawing: add a nodraw stage 2017-08-29 16:37:07 +02:00
InsetMathMacroTemplate.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathMatrix.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathMatrix.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathNest.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathNest.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathNumber.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathNumber.h
InsetMathOverset.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathOverset.h
InsetMathPar.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathPar.h
InsetMathPhantom.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathPhantom.h
InsetMathRef.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathRef.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
InsetMathRoot.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathRoot.h
InsetMathScript.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathScript.h Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathSideset.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
InsetMathSideset.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathSize.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathSize.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
InsetMathSpace.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
InsetMathSpace.h
InsetMathSpecialChar.cpp Implement rule 17 2017-01-31 22:55:00 +01:00
InsetMathSpecialChar.h
InsetMathSplit.cpp Get rid of Inset::setPosCache 2016-12-06 16:15:47 +01:00
InsetMathSplit.h InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathSqrt.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathSqrt.h
InsetMathStackrel.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathStackrel.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathString.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathString.h
InsetMathSubstack.cpp InsetMath: match the screen display with the EnsureMath behaviour in output 2016-11-22 11:30:26 +01:00
InsetMathSubstack.h
InsetMathSymbol.cpp mathedSymbolDim only needs a MathBase 2016-11-21 00:08:11 +01:00
InsetMathSymbol.h Introduce the notion of math class 2016-11-16 15:21:52 +01:00
InsetMathTabular.cpp Fix borders of InsetMathGrid 2016-10-06 01:11:49 +02:00
InsetMathTabular.h Don't parse multicolumn if the grid does not support it 2016-11-05 18:36:39 +01:00
InsetMathUnderset.cpp Re-implement math markers logic. 2017-01-11 17:35:34 +01:00
InsetMathUnderset.h
InsetMathUnknown.cpp Do not include MetricsInfo.h in MathStream.h 2016-06-13 08:46:15 +01:00
InsetMathUnknown.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsetMathXArrow.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathXArrow.h MathClass of xrightarrow & co 2016-12-20 00:15:58 +01:00
InsetMathXYMatrix.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InsetMathXYMatrix.h Correct computation of math font size 2016-11-21 00:02:35 +01:00
MacroTable.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MacroTable.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MathAtom.cpp MathAtom: prefer composition over inheritance 2017-04-20 23:49:02 +02:00
MathAtom.h MathAtom: prefer composition over inheritance 2017-04-20 23:49:02 +02:00
MathAutoCorrect.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
MathAutoCorrect.h
MathClass.cpp Correct computation of math font size 2016-11-21 00:02:35 +01:00
MathClass.h Implement computation of spacing according to the TeXBook 2016-11-16 15:21:52 +01:00
MathCompletionList.h
MathData.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MathData.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MathExtern.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
MathExtern.h Remove a deep copy of MathData in lyx::write 2015-10-19 06:55:18 +01:00
MathFactory.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
MathFactory.h
MathParser_flags.h Fix bug #10581 2017-04-03 00:26:49 +02:00
MathParser.cpp Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MathParser.h
MathRow.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
MathRow.h Linearize macros in box edit mode too. 2017-03-23 10:17:07 +01:00
MathStream.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
MathStream.h Rename some macro-related insets 2017-07-05 14:46:34 +02:00
MathSupport.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
MathSupport.h Fix missing \bigg variants for \llbracket 2016-12-20 00:15:59 +01:00
README
ReplaceData.h
texify
TextPainter.cpp
TextPainter.h

Inset 'Xyz' is implemented by 'MathXyzInset' in 'math_xyzinset.[hC]'


Inset hierarchy:

                                   MathInset
                                (abstract base)

                         /            |               \

              Dim                  Char               Symbol, Space, ...
         (thing that need       (for things formerly
          the width_/ascent_     known as characters)
          /descent_ cache)

          /             \

       Nest              Dots,  Func, ...
  (for thing with
   nested content)

        |         \

      Grid        Decoration   Delim   Frac  Macro  Root  Script  Sqrt

      /   \

 Array    Hull
         (base for eqnarray/align/...)