|  | 
|  | SvgSurface (cairo_surface_t *cobject, bool has_reference=false) | 
|  | Create a C++ wrapper for the C instance. 
 | 
|  | 
|  | ~SvgSurface () override | 
|  | 
| void | restrict_to_version (SvgVersion version) | 
|  | Restricts the generated SVG file to the given version. 
 | 
|  | 
|  | Surface (cairo_surface_t *cobject, bool has_reference=false) | 
|  | Create a C++ wrapper for the C instance. 
 | 
|  | 
|  | Surface (const Surface &)=delete | 
|  | 
| Surface & | operator= (const Surface &)=delete | 
|  | 
| virtual | ~Surface () | 
|  | 
| const unsigned char * | get_mime_data (const std::string &mime_type, unsigned long & length) | 
|  | Return mime data previously attached to surface using the specified mime type. 
 | 
|  | 
| void | set_mime_data (const std::string &mime_type, unsigned char *data, unsigned long length, const SlotDestroy &slot_destroy) | 
|  | Attach an image in the format mime_type to surface. 
 | 
|  | 
| void | unset_mime_data (const std::string &mime_type) | 
|  | Remove the data from a surface. 
 | 
|  | 
| void | get_font_options (FontOptions &options) const | 
|  | Retrieves the default font rendering options for the surface. 
 | 
|  | 
| void | finish () | 
|  | This function finishes the surface and drops all references to external resources. 
 | 
|  | 
| void | flush () | 
|  | Do any pending drawing for the surface and also restore any temporary modifications cairo has made to the surface's state. 
 | 
|  | 
| void | mark_dirty () | 
|  | Tells cairo to consider the data buffer dirty. 
 | 
|  | 
| void | mark_dirty (int x, int y, int width, int height) | 
|  | Marks a rectangular area of the given surface dirty. 
 | 
|  | 
| void | set_device_offset (double x_offset, double y_offset) | 
|  | Sets an offset that is added to the device coordinates determined by the CTM when drawing to surface. 
 | 
|  | 
| void | get_device_offset (double &x_offset, double &y_offset) const | 
|  | Returns a previous device offset set by set_device_offset(). 
 | 
|  | 
| void | set_fallback_resolution (double x_pixels_per_inch, double y_pixels_per_inch) | 
|  | Set the horizontal and vertical resolution for image fallbacks. 
 | 
|  | 
| void | get_fallback_resolution (double &x_pixels_per_inch, double &y_pixels_per_inch) const | 
|  | This function returns the previous fallback resolution set by set_fallback_resolution(), or default fallback resolution if never set. 
 | 
|  | 
| SurfaceType | get_type () const | 
|  | 
| Content | get_content () const | 
|  | This function returns the content type of surface which indicates whether the surface contains color and/or alpha information. 
 | 
|  | 
| void | copy_page () | 
|  | Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page. 
 | 
|  | 
| void | show_page () | 
|  | Emits and clears the current page for backends that support multiple pages. 
 | 
|  | 
| bool | has_show_text_glyphs () const | 
|  | Returns whether the surface supports sophisticated Context::show_text_glyphs() operations. 
 | 
|  | 
| void | write_to_png (const std::string &filename) | 
|  | Writes the contents of surface to a new file filename as a PNG image. 
 | 
|  | 
| void | write_to_png_stream (const SlotWriteFunc &write_func) | 
|  | Writes the Surface to the write function. 
 | 
|  | 
| void | write_to_png (cairo_write_func_t write_func, void *closure) | 
|  | 
| RefPtr< Device > | get_device () | 
|  | This function returns the device for a surface. 
 | 
|  | 
| cobject * | cobj () | 
|  | Provides acces to the underlying C cairo surface. 
 | 
|  | 
| const cobject * | cobj () const | 
|  | Provides acces to the underlying C cairo surface. 
 | 
|  | 
|  | 
| static RefPtr< SvgSurface > | create (std::string filename, double width_in_points, double height_in_points) | 
|  | Creates a SvgSurface with a specified dimensions that will be saved as the given filename. 
 | 
|  | 
| static RefPtr< SvgSurface > | create_for_stream (const SlotWriteFunc &write_func, double width_in_points, double height_in_points) | 
|  | Creates a SvgSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk. 
 | 
|  | 
| static RefPtr< SvgSurface > | create (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) | 
|  | 
| static const std::vector< SvgVersion > | get_versions () | 
|  | Retrieves the list of SVG versions supported by cairo. 
 | 
|  | 
| static std::string | version_to_string (SvgVersion version) | 
|  | Get the string representation of the given version id. 
 | 
|  | 
| static RefPtr< Surface > | create (const RefPtr< Surface > other, Content content, int width, int height) | 
|  | Create a new surface that is as compatible as possible with an existing surface. 
 | 
|  | 
| static RefPtr< Surface > | create (const RefPtr< Surface > & target, double x, double y, double width, double height) | 
|  | Create a new surface that is a rectangle within the target surface. 
 | 
|  | 
A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. 
This surface is not rendered to the screen but instead renders the drawing to an SVG file on disk.
- Note
- For this Surface to be available, cairo must have been compiled with SVG support