[cairo] API request: obtain the trapezoids that are outside of
jost2345 at yahoo.de
Tue Aug 24 09:36:34 PDT 2004
On Wed, 2004-08-18 at 17:58, Carl Worth wrote:
> 1) Given a cubic Bzier spline, it is guaranteed to be contained within
> the polygon formed by its four control points.
> 2) If stroking rather than filling, the bounds needs to be increased by
> one half the line width in each dimension, (this includes the space
> needed for the stroke, any caps, and for bevel and round joins).
> 3) If stroking with miter joins, then the increase in step 2 should
> instead be: 0.5 * (miter_limit * line_width).
> So, that should lead to a calculation that is plenty fast, and is
> sufficient for you to get a positive test result if a shape ever exceeds
> the surface bounds. It's not necessarily tight, so it can give false
> positives when the shape gets close, but I would imagine you can deal
> with that, right?
Yes, this will work, thanks. Associating a persistent bounding box
with the FILL and STROKE token and keeping the boxes as if they were
ordinary shapes will also make the code simpler.
BTW: I assumed that RENDER keeps the trapezoids that cairo sends to it,
so that it can scale the picture upon request:
cairo_scale(cr, 10, 10);
It seems that RENDER only keeps the image of surface, but not the
trapezoids. Is that a bug?
More information about the cairo