The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.

http://www.iinteractive.com

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.