handle = cairo.Context(target)
target als Zieloberfläche dient. Die
Zieloberfläche sollte mit einem Backend-spezifischem Befehl wie
cairo.ImageSurface() (oder einem anderen
Cairo-Oberflächen-Backend-Konstruktor) erstellt werden.
Dieser Befehl verweist auf target, sodass Sie sofort csurface:Free()
darauf aufrufen können, wenn Sie keinen separaten Verweis darauf pflegen
müssen.
Dieser Befehl gibt einen neu zugewiesenen Cairo-Kontext mit einem
Referenzzähler von 1 zurück. Der anfängliche Referenzzähler sollte mit
ccontext:Free() gelöscht werden, wenn Sie mit der Verwendung
des Cairo-Kontexts fertig sind. Dieser Befehl gibt niemals Null zurück.
Wenn kein Speicher zugewiesen werden kann, wird ein spezielles
Cairo-Kontextobjekt zurückgegeben, für das ccontext:Status()
#CAIRO_STATUS_NO_MEMORY zurückgibt. Wenn Sie versuchen, auf eine
Oberfläche abzuzielen, die das Schreiben nicht unterstützt (z.B. eine Cairo
MIME-Oberfläche), wird ein #CAIRO_STATUS_WRITE_ERROR ausgelöst. Sie
können dieses Objekt normal verwenden, es wird jedoch keine Zeichnung erstellt.