<div>Hi All,</div><div><br></div><div>The dc-path% method get-bounding-box computes the bounding box not only for</div><div>the points on the path, but also for the control points defining the path. This implies</div><div>
that a bounding box can be much larger than the actual path.</div><div><br></div><div>Cairo supports computation of tighter bounding boxes. Some take the</div><div>pen in consideration and some do not:</div><div><br></div>
<div>    <span style="background-color:rgb(255,255,255);font-family:Times;font-size:medium">cairo-path-extents  </span><span style="background-color:rgb(255,255,255);font-family:Times;font-size:medium">cairo-stroke-extents  </span>cairo-fill-extents  </div>
<div><span style="background-color:rgb(255,255,255);font-family:Times;font-size:medium"><br></span></div><div><span style="background-color:rgb(255,255,255);font-family:Times;font-size:medium">Am I so lucky that there already exists bindings to these?</span></div>
<div><br></div><div>/Jens Axel</div><div><br></div><div>Links to Cairo documentation:</div><div><br></div><div><br></div><div><span style="background-color:rgb(255,255,255)"><font face="Times" size="3"><a href="http://www.cairographics.org/manual/cairo-Paths.html#cairo-path-extents">http://www.cairographics.org/manual/cairo-Paths.html#cairo-path-extents</a></font></span></div>
<div><span style="background-color:rgb(255,255,255);font-family:Times;font-size:medium">Computes a bounding box in user-space coordinates covering the points on the current path. If the current path is empty, returns an empty rectangle ((0,0), (0,0)). Stroke parameters, fill rule, surface dimensions and clipping are not taken into account.</span></div>
<span style="text-align:justify;background-color:rgb(255,255,255)"><div style="font-family:monospace;font-size:15.833333015441895px;font-weight:bold;line-height:25.833332061767578px"><span style="font-family:monospace;font-size:15.833333015441895px;font-weight:bold;line-height:25.833332061767578px;text-align:justify;background-color:rgb(255,255,255)"><br>
</span></div><div style="text-align:start"><font face="Times" size="3"><a href="http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke-extents">http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke-extents</a></font></div>
<div style="text-align:start"><span style="font-family:Times;font-size:medium">Computes a bounding box in user coordinates covering the area that would be affected, (the &quot;inked&quot; area), by a </span><a class="link" href="http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()" style="font-family:Times;font-size:medium;text-decoration:none;color:rgb(52,101,164)"><code class="function">cairo_stroke()</code></a><span style="font-family:Times;font-size:medium"> operation given the current path and stroke parameters.</span></div>
</span><div><br></div><div><div><a href="http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill-extents">http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill-extents</a></div><div><span style="font-family:Times;font-size:medium;background-color:rgb(255,255,255)">Computes a bounding box in user coordinates covering the area that would be affected, (the &quot;inked&quot; area), by a </span><a class="link" href="http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill" title="cairo_fill ()" style="text-decoration:none;color:rgb(52,101,164);font-family:Times;font-size:medium;background-color:rgb(255,255,255)"><code class="function">cairo_fill()</code></a><span style="font-family:Times;font-size:medium;background-color:rgb(255,255,255)"> operation given the current path and fill parameters.</span></div>
<div><span style="font-family:Times;font-size:medium;background-color:rgb(255,255,255)"><br></span></div></div>