Weekly report about character border
zolnaitamas2000 at gmail.com
Sun Jul 21 13:12:45 PDT 2013
This week I managed to solve the initial difficulties of character border
- 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
- 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
Besides this, I started to look up for special cases which behavior are
- 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
- Numbering (can have an own style so a character border too)
This week hasn't numerous questions, but so many answers. :)
2013/7/15 Zolnai Tamás <zolnaitamas2000 at 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:
> 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)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the LibreOffice