Commit Graph

13 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
47c0b3cc05 Update PAINTING_ANALYSIS
Remove all the tasks that have been performed.
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
0311718215 Split TextMetrics::setRowHeight in three parts
The new functions parBottomSpaging and parTopSapcing return below/above each paragraph.

This allows to remove the TopBottomSpace argument and makes the code a
bit clearer.
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
e39e4cf96b Do not require an extra pit parameter when a row is available
Now that Row has a pit() member, it is possible to use it instead of passing an extra pit_type parameter to a function which already has access to a Row.
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
4c19c5149d RowPainter const cleanup
Change the various paint* helpers to take a single row element as argument.

Do not update x_ in the various paint* helpers. Constify them. Update x_ in paintText and paintOnlyInsets instead.

Remove an empty call to paintForeignMark in paintInset (the call did nothing since orig_x == x_ at this point).
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
095c390fe2 Update PAINTING_ANALYSIS and add a new task 2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
656b7f5ab7 Set vertical margins in redoParagraph, not setRowHeight
It is actually easier to set the 20 pixels margin in redoParagraph, since it is not necessary to take newlines in account when deciding what is the real last row of the paragraph.

Moreover this solves the following bug (present in 2.1.x too): when the document ends with a newling, the bottom margin disappears.

Update PAINTING_ANALYSIS with new tasks.
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
598f7e4a45 Cleanup Painter text() API
* remove optional arguments to the helpers that use a FontInfo
* add a textwidth argument to the text() methods that are used by rowpainter.

Now textwidth is only computed if a null value was passed to the
text() method. This means that in the use case of rowpainter, no
textwidth needs to be computed.
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
78eaf8333b Update PAINTING_ANALYSIS
Some things were wrong, and some new ideas are added (some are done in
this branch already).
2016-05-30 14:55:41 +02:00
Jean-Marc Lasgouttes
26eb5092fb Get rid of ParagraphMetrics::insetDimension
We already have a CoordCache of insets dimensions. It is not necessary
to store the same information in two places.

Give a name to CoordCache tables types to improve code readability.

Remove ParagraphMetrics::singleWidth, which is not used anymore.
2015-10-19 13:17:16 +02:00
Jean-Marc Lasgouttes
d377e765a2 More updates to painting analysis 2015-10-04 22:28:36 +02:00
Jean-Marc Lasgouttes
c4da9b9e37 Update file from Abdel's comments and some of my own thinking 2015-10-04 00:03:46 +02:00
Jean-Marc Lasgouttes
7ef19902ea Small typos in PAINTING_ANALYSIS 2015-10-03 23:49:05 +02:00
Jean-Marc Lasgouttes
86d42bc5eb Add a file that describe the current state of painting
This is a work in progress intended to start collective work towards improving the performance of our painting process.

The intent is to make it a living document that is updated as code evolves.
2015-10-02 15:30:16 +02:00