Computes a bounding box in user-space coordinates covering
the points on the current path. If the current path is empty,
returns an empty Box ((0,0), (0,0)). Stroke parameters,
fill rule, surface dimensions and clipping are not taken
into account.
Contrast with fillExtents() and strokeExtents()
which return the extents of only the area that would be "inked"
by the corresponding drawing operations.
The result of pathExtents() is defined as equivalent
to the limit of strokeExtents() with CAIRO_LINE_CAP_ROUND
as the line width approaches 0.0, (but never reaching the
empty-rectangle returned by strokeExtents() for a
line width of 0.0).
Specifically, this means that zero-area sub-paths such as
moveTo();lineTo() segments, (even degenerate
cases where the coordinates to both calls are identical),
will be considered as contributing to the extents. However,
a lone moveTo() will not contribute to the
results of pathExtents().
Computes a bounding box in user-space coordinates covering the points on the current path. If the current path is empty, returns an empty Box ((0,0), (0,0)). Stroke parameters, fill rule, surface dimensions and clipping are not taken into account.
Contrast with fillExtents() and strokeExtents() which return the extents of only the area that would be "inked" by the corresponding drawing operations.
The result of pathExtents() is defined as equivalent to the limit of strokeExtents() with CAIRO_LINE_CAP_ROUND as the line width approaches 0.0, (but never reaching the empty-rectangle returned by strokeExtents() for a line width of 0.0).
Specifically, this means that zero-area sub-paths such as moveTo();lineTo() segments, (even degenerate cases where the coordinates to both calls are identical), will be considered as contributing to the extents. However, a lone moveTo() will not contribute to the results of pathExtents().