x1, y1, x2, y2 = ccontext:PathExtents()
Im Gegensatz dazu geben ccontext:FillExtents() und ccontext:StrokeExtents() nur die Ausmaße des Bereichs zurück, der durch die entsprechenden Zeichenvorgänge "eingefärbt" würde.
Das Ergebnis von ccontext:PathExtents() wird als äquivalent
zum Grenzwert von ccontext:StrokeExtents() mit #CAIRO_LINE_CAP_ROUND
definiert, wenn sich die Linienbreite 0,0 annähert (jedoch niemals
den von ccontext:StrokeExtents() für eine Linienbreite
von 0,0 zurückgegebenen leeren Rechteckwert erreicht).
Konkret bedeutet dies, dass Teilpfade mit Nullfläche, wie z.B.
ccontext:MoveTo();ccontext:LineTo()-Segmente (selbst
in degenerierten Fällen, in denen die Koordinaten beider Aufrufe
identisch sind), als Beitrag zu den Ausdehnungen berücksichtigt
werden. Ein einzelnes ccontext:MoveTo() trägt jedoch
nicht zu den Ergebnissen von ccontext:PathExtents() bei.