# Cairo::SvgSurface Class Reference

A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. More...

Inheritance diagram for Cairo::SvgSurface:
[legend]

List of all members.

## Public Member Functions

| SvgSurface (cairo_surface_t*cobject, bool has_reference=false)
| Create a C++ wrapper for the C instance.
virtual | ~SvgSurface ()
void | restrict_to_version (SvgVersion version)
| Restricts the generated SVG file to the given version.

## Static Public Member Functions

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.

## Detailed Description

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

## Constructor & Destructor Documentation

Cairo::SvgSurface::SvgSurface | ( | cairo_surface_t * | cobject,
|  | bool | has_reference = `false`
| ) |  | `[explicit]`

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:

  cobject | The C instance.
  has_reference | whether we already have a reference. Otherwise, the constructor will take an extra reference.

virtual Cairo::SvgSurface::~SvgSurface | ( |  | ) | `[virtual]`

## Member Function Documentation

static RefPtr<SvgSurface> Cairo::SvgSurface::create | ( | std::string | filename,
|  | double | width_in_points,
|  | double | height_in_points
| ) |  | `[static]`

Creates a SvgSurface with a specified dimensions that will be saved as the given filename.

Parameters:

  filename | The name of the SVG file to save the surface to
  width_in_points | The width of the SVG document in points
  height_in_points | The height of the SVG document in points

Examples:
  svg-surface.cc.

static RefPtr<SvgSurface> Cairo::SvgSurface::create | ( | cairo_write_func_t | write_func,
|  | void * | closure,
|  | double | width_in_points,
|  | double | height_in_points
| ) |  | `[static]`

Deprecated:
  Use SvgSurface::create_for_stream() instead

static RefPtr<SvgSurface> Cairo::SvgSurface::create_for_stream | ( | const SlotWriteFunc & | write_func,
|  | double | width_in_points,
|  | double | height_in_points
| ) |  | `[static]`

Creates a SvgSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.

Parameters:

  write_func | The function to be called when the backend needs to write data to an output stream
  width_in_points | The width of the SVG document in points
  height_in_points | The height of the SVG document in points

Since:
  1.8

static const std::vector<SvgVersion> Cairo::SvgSurface::get_versions | ( |  | ) | `[static]`

Retrieves the list of SVG versions supported by cairo.

See restrict_to_version().

Since:
  1.2

void Cairo::SvgSurface::restrict_to_version | ( | SvgVersion | version | ) |

Restricts the generated SVG file to the given version.

See get_versions() for a list of available version values that can be used here.

This function should only be called before any drawing operations have been performed on the given surface. The simplest way to do this is to call this function immediately after creating the surface.

Since:
  1.2

static std::string Cairo::SvgSurface::version_to_string | ( | SvgVersion | version | ) | `[static]`

Get the string representation of the given version id.

The returned string will be empty if version isn't valid. See get_versions() for a way to get the list of valid version ids.

since: 1.2

The documentation for this class was generated from the following file:

- cairomm/surface.h