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


Hi all,

This week I managed to solve the initial difficulties of character border
painting:
  - Change the size of the text portion which has border.
(three distinct size attribute: height, ascent and size)
  - Part of the top border hanged out from the text portion (use
SwAlignRect)
  - Calculating the cursor position and the selection rectangle must be
changed to skip the border. (SwTxtCursor)
  - Page breaking uses the height attribute of the text portion, but line
breaking use a distinct method for it. So I have to change either this
method or the call of it. (It works by now, but there might be a better
solution)

Besides this, I started to look up for special cases which behavior are
still bugous.
 - Text portions with different font have distinct border. The same problem
at the point of the line break.
 - Vertical text ("rotate" the borders)
 - Drop caps (It can be a great territory for character border, but it
seems other font effects like underlining/overlining don't work with drop
caps either.)
 - Numbering (can have an own style so a character border too)

This week hasn't numerous questions, but so many answers. :)

Best regards,
Tamás


2013/7/15 Zolnai Tamás <zolnaitamas2000@gmail.com>

Hi all,

    In the previous week I started to implement the painting. Some special
problem came up, which might give me a hard time. The first very annoying
one stem from the unpunctuality of the recent border painting (frame
painting). It seems the border primitives are shifted toward the origo with
some twips (1-2). In general it isn't a visible bug but character border
magnifies the problem.
Some screen shot:

https://docs.google.com/document/d/12bm6XOXlj6N79GNnvMKull5KY8xe63QIidrg67GnQyE/edit?pli=1

    First I got lcl_AlighWidth() and lcl_AlignHeight() methods which make
similar modification on coordinates, however removing them improve the
accuracy (so I don't know why these methods used at all), but it is not
enough. So two thing can be erroneous:
    1, painting of border line primitive
    2, view transformation matrix (twip -> pixel)


Questions of these week.
- In what unit does the geometrical object are?
 (logic\twip, convert to pixels for vcl processor)
- Which part of the text is repainted while typing?
(part of the text portion area, some character position before current
cursor position)
- How does the view changes the painting of objects?
(character border now: when just the part of the text portion is seen on
the screen then the hole border is painted around this part and so border
is in the middle of the portion. Columns with dotted separator line: some
extra dot is painted on the edges of the screen, so scrolling up and down
can make the dotted line more thicker.)
- How change the size of a text portion and make the cursor skip the
border area? (start with SwTxtSizeInfo and SwTxtCursor)


Regards,
Tamás


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.