[gs-cvs] rev 8140 - trunk/gs/src
ray at ghostscript.com
ray at ghostscript.com
Tue Jul 24 22:12:46 PDT 2007
Author: ray
Date: 2007-07-24 22:12:45 -0700 (Tue, 24 Jul 2007)
New Revision: 8140
Modified:
trunk/gs/src/gdevp14.c
Log:
Revert patch for rev 7904 which caused regressions (bug 689215).
The fix for this will be committed in a following patch that
fixes 688543 and 689364. Fixes bug 689215.
DETAILS:
The root of the problem is that the filled/stroked areas are
too large (from the fill_adjust value). Unfortunately changing
this to fix these problems causes MANY differences that need
to be examined. Initial examination shows many PROGRESSIONS,
i.e., we are closer to Adobe and from 200 files examined so
far, has not caused dropout (which is consistent with the
analysis).
EXPECTED DIFFERENCES:
Elimination of regressions caused by the patch 7904, specifically
a12.pdf, Bug688631.pdf and SoftMaskGroup.pdf. The bug 688543 will
be re-opened until the subsequent patch is committed.
Modified: trunk/gs/src/gdevp14.c
===================================================================
--- trunk/gs/src/gdevp14.c 2007-07-24 22:29:24 UTC (rev 8139)
+++ trunk/gs/src/gdevp14.c 2007-07-25 05:12:45 UTC (rev 8140)
@@ -2141,24 +2141,14 @@
gs_rect dev_bbox;
gs_int_rect rect;
int code;
- gs_fixed_point p0;
code = gs_bbox_transform(pbbox, &ctm_only(pis), &dev_bbox);
if (code < 0)
return code;
-
- p0.x = float2fixed( dev_bbox.p.x );
- p0.y = float2fixed( dev_bbox.p.y );
-
- rect.p.x = fixed2int_pixround( p0.x );
- rect.p.y = fixed2int_pixround( p0.y );
-
- p0.x = float2fixed( dev_bbox.q.x );
- p0.y = float2fixed( dev_bbox.q.y );
-
- rect.q.x = fixed2int_pixround( p0.x );
- rect.q.y = fixed2int_pixround( p0.y );
-
+ rect.p.x = (int)floor(dev_bbox.p.x);
+ rect.p.y = (int)floor(dev_bbox.p.y);
+ rect.q.x = (int)ceil(dev_bbox.q.x);
+ rect.q.y = (int)ceil(dev_bbox.q.y);
rect_intersect(rect, pdev->ctx->rect);
/* Make sure the rectangle is not anomalous (q < p) -- see gsrect.h */
if (rect.q.x < rect.p.x)
More information about the gs-cvs
mailing list