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 <zolnaitamas2...@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 >
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice