handle = cairo.SVGSurface(filename$, width_in_points, height_in_points)
filename$ geschrieben werden soll.
Das SVG-Oberflächen-Backend erkennt die folgenden MIME-Typen für die an eine Oberfläche angehängten Daten (siehe csurface:SetMimeData()), wenn sie als Quellmuster zum Zeichnen auf dieser Oberfläche verwendet werden:
#CAIRO_MIME_TYPE_JPEG #CAIRO_MIME_TYPE_PNG #CAIRO_MIME_TYPE_URI |
Wenn einer von ihnen angegeben ist, gibt das SVG-Backend den Inhalt der MIME-Daten anstelle eines Oberflächen-Snapshots (PNG, Base64-kodiert) im entsprechenden Bild-Tag aus.
Zunächst wird der inoffizielle MIME-Typ #CAIRO_MIME_TYPE_URI untersucht.
Falls vorhanden, wird der URI unverändert ausgegeben: Die Sicherstellung
der Richtigkeit des URI bleibt dem Clientcode überlassen.
Wenn #CAIRO_MIME_TYPE_URI nicht vorhanden ist, aber #CAIRO_MIME_TYPE_JPEG
oder #CAIRO_MIME_TYPE_PNG angegeben ist, werden die entsprechenden Daten
Base64-codiert und ausgegeben.
Wenn #CAIRO_MIME_TYPE_UNIQUE_ID vorhanden ist, werden alle Oberflächen
mit derselben eindeutigen Kennung nur einmal eingebettet.
Dieser Befehl gibt ein Handle für die neu erstellte Oberfläche zurück. Der Aufrufer hat die zurückgegebenen Oberfläche zugewiesen und sollte csurface:Free() aufrufen, wenn er damit fertig ist.
Dieser Befehl gibt immer ein gültiges Handle zurück, aber sie gibt ein Handle auf eine "Null"-Oberfläche zurück, wenn ein Fehler auftritt, z.B. nicht genügend Speicher. Sie können csurface:Status() verwenden, um dies zu überprüfen.