I'm going to make two simple changes. As I said yesterday, in document.c,
clipping should only be done if mode == WRITEMODE_DRAW_CHAR. Secondly, and
I don't know if this counts as a bug or a feature or what, in
paragraph.c:GetLineMetrics() I will delete the code:
// Snippet B
if ( measureOnly && DO_LAYOUT( tContext->writeMode ) &&
tContext->cursorY < RotTopLeftY() + RotExtentY() )
measureOnly = false;
The reason for this is that the code is only triggered if measureOnly ==
true, and earlier in the routine we have:
// Snippet A
measureOnly = ! lineCacheState && ! nowSearching &&
( tContext->writeMode == WRITEMODE_NO_DRAW ||
( DO_LAYOUT( tContext->writeMode ) &&
RotTopLeftY() + RotExtentY() <= tContext->cursorY
)
);
After Snippet A has executed, ( measureOnly && DO_LAYOUT(...) ) can only
evalute to true providing RotTopLeft(Y) + RotExtentY() <= tContext->cursorY,
and so the if in Snippet B cannot be triggered.
Alex
--
Dr. Alexander R. Pruss
Department of Philosophy
Georgetown University
Washington, DC 20057-1133 U.S.A.
e-mail: [EMAIL PROTECTED]
online papers and home page: www.georgetown.edu/faculty/ap85
----------------------------------------------------------------------------
-
"Philosophiam discimus non ut tantum sciamus, sed ut boni efficiamur."
- Paul of Worczyn (1424)
_______________________________________________
plucker-dev mailing list
[EMAIL PROTECTED]
http://lists.rubberchicken.org/mailman/listinfo/plucker-dev