Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Hi all, just a follow up on some findings on this issue that I wanted to
share.

On Sun, Jun 8, 2014 at 12:43 AM, Kohei Yoshida <kohei.yoshida@collabora.com>
wrote:

 > Does anyone know any point I should be looking at?

Based on my experience with the edit engine code and your description,
the first place I would look at is class EditTextObject, and the
EditEngine::CreateTextObject() method.

Kohei, thanks for the tip - the issue seemed to be somewhere else however.

Summarizing once again, the problem was that I did get a text background
color in edit-mode but not in non-edit mode.
The problem seems to lie in the drawinglayer module, which takes care of
static rendering of text (thanks, Thorsten :-) ). In fact, currently, this
module knows nothing about text-portion-specific text color.

Rendering of text in this module seems to work (_roughly_) in this way:
(1) information on font (text color, underlining, italic...) are passed
from an external module [this is still subject of exploration],
(2) these font features are encapsulated in object of classes
TextFooPortionPrimitive2D,
(3) finally, the class VclProcessor2D makes the actual rendering out of
these primitives (by calling the ordinary text drawing methods from
OutputDevice).

Getting back to text fill color, the issue must be fixed at all three
levels:
(1') the fill color information should be passed by other modules,
(2') TextFooPortionPrimitive2D (probably TextSimplePortionPrimitive2D)
should be able to carry information on text fill color
(3') VclProcessor2D should pass this information to OutputDevice
appropriately.

I'm currently working on (1') and (2') but today I made an experiment and
the problem at level (3) is basically been figured out.

Best,
Matteo

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.