commit


Subject: commit
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Fri Oct 19 2001 - 15:56:50 CDT


After hours of immense frustration I think I have managed fix the
layout bugs Martin observed. The persistent block redraw was the
easy one -- it was caused by the fact that fp_Run::setX was
designed to always clear screen on changes of iX, the line layout
requires two passes in the first of which iX is set to a temporary
value, and the second it is adjusted depending on the type of
alignment. This meant that at least 1, but mostly two unnecessary
redraws were carried out. I have changed setX, so that it is
possible to set X without clearing screen.

The missalignment caused by deletion of the paragraph break
should be fixed too -- it was not a bug in my code though :-).

The justified alignment not kicking in was the worst to work out. It
only effected the non-bidi build and even though it required only a
trivial fix, there was steam coming from my ears by the time I found
it -- it was in fp_Line::layout(), but it really was not obvious.

I have also fixed some bidi bugs related to the glyph shaping, and
the one causing segmentation faults reported by Joaquin.

Tomas

Files modified: fp_TextRun.cpp/h, fp_Line.cpp, fp_Run.cpp/h,
fl_BlockLayout.cpp/h, fb_LineBreaker.cpp



This archive was generated by hypermail 2b25 : Fri Oct 19 2001 - 15:57:53 CDT