Graphics::Primitive::Driver::CairoPango - Cairo/Pango backend for Graphics::Primitive
use Graphics::Pritive::Component; use Graphics::Pritive::Component; use Graphics::Primitive::Driver::CairoPango; my $driver = Graphics::Primitive::Driver::CairoPango->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::CairoPango->new( format => 'PDF' ); $driver->draw($container); $driver->write('/Users/gphat/foo.pdf');
This module draws Graphics::Primitive objects using Cairo and Pango. This is a separate distribution due to the Pango requirement. The Pango specific bits will be rolled into the normal Cairo driver at some point.
Borders are drawn clockwise starting with the top one. Since cairo can't do line-joins on different colored lines, each border overlaps those before it. This is not the way I'd like it to work, but i'm opting to fix this later. Consider yourself warned.
Creates a new Graphics::Primitive::Driver::CairoPango object. Requires a format.
my $driver = Graphics::Primitive::Driver::CairoPango->new(format => 'PDF');
Set/Get the antialias mode of this driver. Options are default, none, gray and subpixel.
This driver's Cairo::Context object
Get the data in a scalar for this driver.
Draws the specified component. Container's components are drawn recursively.
Get the format for this driver.
Returns this driver's implementation of a TextLayout.
Reset the driver.
Get/Set the surface on which this driver is operating.
Write this driver's data to the specified file.
Infinity Interactive, http://www.iinteractive.com
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 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.