Re: fl_BlockLayout::findPointCoords

Subject: Re: fl_BlockLayout::findPointCoords
From: Jesper Skov (
Date: Sat May 20 2000 - 13:47:26 CDT

>>>>> "Mike" == Mike Nordell <> writes:

Mike> To either add to the confusion, or hopefully shed some light
Mike> over this (if my understanding of it is correct that is): The
Mike> bEOL tells us if the cursor (insert point) is at EOL. AFAIK the
Mike> only two ways we can get to EOL is to either click the mouse at
Mike> the EOL position or press the (possibly qualified) <end> key. In
Mike> that case, we really want the first fp_Run from the _next_ line,
Mike> since IP is physically (displaying) at EOL line 1, but when it
Mike> inserts you insert into the beginning of line 2, therefore we
Mike> should return x&y for the first fp_Run at line 2. I hope this
Mike> makes sense and is correct.

That does make sense.

So the returned x&y coords are for the IP (where to draw the cursor),
and the returned Run is used for what?

Mike> As for the loops except the first one I can (almost) only
Mike> guess. Can it be that it doesn't trust that the runs have their
Mike> internal notion about size/position correct, and
Mike> lookupProperties() "updates" the runs internal data about it? A
Mike> quick look at fp_TextRun seems to imply so.

Possible. But there's also the implied assumption about a
JUSTAFTER-Run is always followed by a INSIDE-Run - but that could just
be a bug, of course.

Mike> I attach my (apparently working, at least at my site) version of
Mike> fl_BlockLayout::findPointCoords for comparison.

If you try to try type '1234' + 2xleft + control-return + left you'll
see the assertion trigger since the second loop is still broken in
your version.


This archive was generated by hypermail 2b25 : Sat May 20 2000 - 13:47:35 CDT