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

Reply via email to