Move some text from the readme file to relevant source files

This commit is contained in:
Jean-Marc Lasgouttes 2014-06-30 15:55:30 +02:00
parent f3924a52b3
commit 4bd5a7e883
3 changed files with 27 additions and 25 deletions

View File

@ -11,8 +11,6 @@ what we have with force_paint_single_char. Moreover there has been
some code factorization in TextMetrics, where the same row-breaking
algorithm was basically implemented 3 times.
Currently everything is supposed to work for both LTR and RTL text.
The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003
@ -59,26 +57,3 @@ Next steps:
in the source.
* Maybe get rid of LyXRC::rtl_support, which does not have a real use case.
* Fix bugs uncovered by testing.
* Profile and see how performance can be improved.
Steps for later (aka out of the scope of this branch):
* Re-implement row painting using row elements. This is not difficult
in principle, but the code is intricate and needs some careful
analysis. The first thing that needs to be done is to break row
elements with the same criteria. Currently breakRow does not
consider on-the-fly spell-checking, but it is not clear to me that
it is required. Moreover, this thing would only work if we are sure
that the Row object is up-to-date when drawing happens. This depends
on the update machinery.
This would allow to get rid of the Bidi.cpp code.
* Change Row object to operate only on integers and not doubles. Then,
rewrite the computation of spacing in justified paragraphs so that
strings can be drawn without cutting at separators. This will improve
performance.

View File

@ -29,6 +29,18 @@ namespace lyx {
class DocIterator;
class Inset;
/**
* FIXME: Change Row object to operate only on integers and not doubles.
*
* This use of double is only useful to distribute the extra
* horizontal space between separators in justified text. If we do
* integer arithmetic, then it is possible to have two groups of
* separators, with size s or s+1. Then strings can be drawn without
* cutting at separators in justfied text, as it is done in
* non-justified text. This will improve performance.
*/
/**
* An on-screen row of text. A paragraph is broken into a RowList for
* display. Each Row contains a tokenized description of the contents

View File

@ -36,6 +36,21 @@ class TextMetrics;
namespace frontend { class Painter; }
/**
* FIXME: Re-implement row painting using row elements.
*
* This is not difficult in principle, but the code is intricate and
* needs some careful analysis. The first thing that needs to be done
* is to break row elements with the same criteria. Currently breakRow
* does not consider on-the-fly spell-checking, but it is not clear to
* me that it is required. Moreover, this thing would only work if we
* are sure that the Row object is up-to-date when drawing happens.
* This depends on the update machinery.
*
* This would allow to get rid of the Bidi class.
*/
/**
* A class used for painting an individual row of text.
* FIXME: get rid of that class.