Public Member Functions | Static Public Member Functions

Cairo::PdfSurface Class Reference

A PdfSurface provides a way to render PDF documents from cairo. More...

Inheritance diagram for Cairo::PdfSurface:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PdfSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~PdfSurface ()
void set_size (double width_in_points, double height_in_points)
 Changes the size of a PDF surface for the current (and subsequent) pages.
void restrict_to_version (PdfVersion version)
 Restricts the generated PDF file to version.

Static Public Member Functions

static RefPtr< PdfSurfacecreate (std::string filename, double width_in_points, double height_in_points)
 Creates a PdfSurface with a specified dimensions that will be saved as the given filename.
static RefPtr< PdfSurfacecreate_for_stream (const SlotWriteFunc& write_func, double width_in_points, double height_in_points)
 Creates a PdfSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.
static RefPtr< PdfSurfacecreate (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
static const std::vector
< PdfVersion
get_versions ()
 Retrieves the list of PDF versions supported by cairo.
static std::string version_to_string (PdfVersion version)
 Get the string representation of the given version id.

Detailed Description

A PdfSurface provides a way to render PDF documents from cairo.

This surface is not rendered to the screen but instead renders the drawing to a PDF file on disk.

Note:
For this Surface to be available, cairo must have been compiled with PDF support

Constructor & Destructor Documentation

Cairo::PdfSurface::PdfSurface ( 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:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::PdfSurface::~PdfSurface ( ) [virtual]

Member Function Documentation

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

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

Parameters:
filenameThe name of the PDF file to save the surface to
width_in_pointsThe width of the PDF document in points
height_in_pointsThe height of the PDF document in points
Examples:
pdf-surface.cc.
static RefPtr<PdfSurface> Cairo::PdfSurface::create ( cairo_write_func_t  write_func,
void *  closure,
double  width_in_points,
double  height_in_points 
) [static]
static RefPtr<PdfSurface> Cairo::PdfSurface::create_for_stream ( const SlotWriteFunc write_func,
double  width_in_points,
double  height_in_points 
) [static]

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

Parameters:
write_funcThe function to be called when the backend needs to write data to an output stream
width_in_pointsThe width of the PDF document in points
height_in_pointsThe height of the PDF document in points
Since:
1.8
static const std::vector<PdfVersion> Cairo::PdfSurface::get_versions ( ) [static]

Retrieves the list of PDF versions supported by cairo.

See restrict_to_version().

Since:
1.10
void Cairo::PdfSurface::restrict_to_version ( PdfVersion  version)

Restricts the generated PDF file to 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.10
void Cairo::PdfSurface::set_size ( double  width_in_points,
double  height_in_points 
)

Changes the size of a PDF surface for the current (and subsequent) pages.

This function should only be called before any drawing operations have been performed on the current page. The simplest way to do this is to call this function immediately after creating the surface or immediately after completing a page with either Context::show_page() or Context::copy_page().

Parameters:
width_in_pointsnew surface width, in points (1 point == 1/72.0 inch)
height_in_pointsnew surface height, in points (1 point == 1/72.0 inch)
static std::string Cairo::PdfSurface::version_to_string ( PdfVersion  version) [static]

Get the string representation of the given version id.

This function will return an empty string if version isn't valid. See get_versions() for a way to get the list of valid version ids.

Since:
1.10

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