Cairo::PsSurface Class Reference

Inheritance diagram for Cairo::PsSurface:

Inheritance graph
[legend]

List of all members.


Detailed Description

A PsSurface provides a way to render PostScript documents from cairo.

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

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

Public Member Functions

void dsc_begin_page_setup ()
 This function indicates that subsequent calls to dsc_comment() should direct comments to the PageSetup section of the PostScript output.
void dsc_begin_setup ()
 This function indicates that subsequent calls to dsc_comment() should direct comments to the Setup section of the PostScript output.
void dsc_comment (std::string comment)
 Emit a comment into the PostScript output for the given surface.
 PsSurface (cairo_surface_t *cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
void restrict_to_level (PsLevel level)
 Restricts the generated PostSript file to .
void set_eps (bool eps)
 If eps is true, the PostScript surface will output Encapsulated PostScript.
void set_size (double width_in_points, double height_in_points)
 Changes the size of a PostScript surface for the current (and subsequent) pages.
virtual ~PsSurface ()

Static Public Member Functions

static RefPtr< PsSurfacecreate (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
 Creates a PsSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.
static RefPtr< PsSurfacecreate (std::string filename, double width_in_points, double height_in_points)
 Creates a PsSurface with a specified dimensions that will be saved as the given filename.
static const std::vector< PsLevelget_levels ()
 Used to retrieve the list of supported levels.
static std::string level_to_string (PsLevel level)
 Get the string representation of the given level id.

Constructor & Destructor Documentation

Cairo::PsSurface::PsSurface ( 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::PsSurface::~PsSurface (  )  [virtual]


Member Function Documentation

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

Creates a PsSurface 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
closure closure data for the write function
width_in_points The width of the PostScript document in points
height_in_points The height of the PostScript document in points

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

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

Parameters:
filename The name of the PostScript file to save the surface to
width_in_points The width of the PostScript document in points
height_in_points The height of the PostScript document in points

void Cairo::PsSurface::dsc_begin_page_setup (  ) 

This function indicates that subsequent calls to dsc_comment() should direct comments to the PageSetup section of the PostScript output.

This function call is only needed for the first page of a surface. It should be called after any call to dsc_begin_setup() and before any drawing is performed to the surface.

void Cairo::PsSurface::dsc_begin_setup (  ) 

This function indicates that subsequent calls to dsc_comment() should direct comments to the Setup section of the PostScript output.

This function should be called at most once per surface, and must be called before any call to dsc_begin_page_setup() and before any drawing is performed to the surface.

void Cairo::PsSurface::dsc_comment ( std::string  comment  ) 

Emit a comment into the PostScript output for the given surface.

See the cairo reference documentation for more information.

Parameters:
comment a comment string to be emitted into the PostScript output

static const std::vector<PsLevel> Cairo::PsSurface::get_levels (  )  [static]

Used to retrieve the list of supported levels.

See restrict_to_level().

Since:
1.6

static std::string Cairo::PsSurface::level_to_string ( PsLevel  level  )  [static]

Get the string representation of the given level id.

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

Returns:
the string associated to given level.
Parameters:
level a level id
Since:
1.6

void Cairo::PsSurface::restrict_to_level ( PsLevel  level  ) 

Restricts the generated PostSript file to .

See get_levels() for a list of available level 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.

Parameters:
level PostScript level
Since:
1.6

void Cairo::PsSurface::set_eps ( bool  eps  ) 

If eps is true, the PostScript surface will output Encapsulated PostScript.

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. An Encapsulated Postscript file should never contain more than one page.

Since:
1.6

void Cairo::PsSurface::set_size ( double  width_in_points,
double  height_in_points 
)

Changes the size of a PostScript 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_points new surface width, in points (1 point == 1/72.0 inch)
height_in_points new surface height, in points (1 point == 1/72.0 inch)


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

Generated on Thu Sep 4 21:57:17 2008 for cairomm by  doxygen 1.5.5