NAME
Graphics::Primitive::Driver::Cairo - Cairo backend for Graphics::Primitive
SYNOPSIS
use Graphics::Pritive::Component;
use Graphics::Pritive::Component;
use Graphics::Primitive::Driver::Cairo;
my $driver = Graphics::Primitive::Driver::Cairo->new;
my $container = Graphics::Primitive::Container->new(
width => $form->sheet_width,
height => $form->sheet_height
);
$container->border->width(1);
$container->border->color($black);
$container->padding(
Graphics::Primitive::Insets->new(top => 5, bottom => 5, left => 5, right => 5)
);
my $comp = Graphics::Primitive::Component->new;
$comp->background_color($black);
$container->add_component($comp, 'c');
my $lm = Layout::Manager::Compass->new;
$lm->do_layout($container);
my $driver = Graphics::Primitive::Driver::Cairo->new(
format => 'PDF'
);
$driver->draw($container);
$driver->write('/Users/gphat/foo.pdf');
DESCRIPTION
This module draws Graphics::Primitive objects using Cairo.
METHODS
Constructor
- new
-
Creates a new Graphics::Primitive::Driver::Cairo object. Requires a format.
my $driver = Graphics::Primitive::Driver::Cairo->new(format => 'PDF');
Instance Methods
- append_surface_data
-
Append to the surface data.
- cairo
-
This driver's Cairo::Context object
- data
-
Get the data in a scalar for this driver.
- draw
-
Draws the specified component. Container's components are drawn recursively.
- format
-
Get the format for this driver.
- get_text_bounding_box
-
Returns a Graphics::Primitive::Rectangle that encloses the rendered text. The origin's x and y maybe negative, meaning that the glyphs in the text extending left of x or above y.
- surface
-
Get/Set the surface on which this driver is operating.
- surface_data
-
Get the data for this driver's surface.
- write
-
Write this driver's data to the specified file.
AUTHOR
Cory Watson, <gphat@cpan.org>
Infinity Interactive, http://www.iinteractive.com
BUGS
Please report any bugs or feature requests to bug-geometry-primitive at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geometry-Primitive. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2008 by Infinity Interactive, Inc.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.