In document.c:RenderRecord() we have the following bit of code contributed
by me:
if ( ( clipRect->extent.y <= 0 || clipRect->extent.x <= 0 ) ) {
mode = WRITEMODE_NO_DRAW;
}
else {
if ( IsHiResTypeSony( HiResType() ) )
/* There is some problem with hi-res clipping on Sony units */
RotSetClip( &viewportBounds );
else
RotSetClip( clipRect );
RotCharClipRange( clipRect->topLeft.y, clipRect->extent.y );
}
I screwed up there a little. After all, if mode is something different from
WRITEMODE_DRAW_CHAR, it shouldn't set mode to WRITEMODE_NO_DRAW no matter
what the clipping is at. (Theoretically, the clipping state is
unpredictable in such circumstances.) Moreover, if the original mode was
WRITEMODE_DRAW the new mode shouldn't be WRITEMODE_NO_DRAW as that could
screw up anchors. Instead, we want WRITEMODE_LAYOUT_ANCHORS. So, I propose
to change to:
if ( mode == WRITEMODE_DRAW_CHAR ) {
if ( ( clipRect->extent.y <= 0 || clipRect->extent.x <= 0 ) ) {
mode = WRITEMODE_LAYOUT_ANCHORS;
}
else {
if ( IsHiResTypeSony( HiResType() ) )
/* There is some problem with hi-res clipping on Sony units */
RotSetClip( &viewportBounds );
else
RotSetClip( clipRect );
RotCharClipRange( clipRect->topLeft.y, clipRect->extent.y );
}
}
That is if there are no objections.
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