Graphics::Primitive::Driver::CairoPango - Cairo/Pango backend for Graphics::Primitive


Graphics-Primitive-Driver-CairoPango documentation  | view source Contained in the Graphics-Primitive-Driver-CairoPango distribution.

Index


NAME

Top

Graphics::Primitive::Driver::CairoPango - Cairo/Pango backend for Graphics::Primitive

SYNOPSIS

Top

    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');

DESCRIPTION

Top

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.

IMPLEMENTATION DETAILS

Top

Borders

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.

METHODS

Top

Constructor

new

Creates a new Graphics::Primitive::Driver::CairoPango object. Requires a format.

  my $driver = Graphics::Primitive::Driver::CairoPango->new(format => 'PDF');

Instance Methods

antialias_mode

Set/Get the antialias mode of this driver. Options are default, none, gray and subpixel.

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_textbox_layout ($font, $textbox)

Returns this driver's implementation of a TextLayout.

reset

Reset the driver.

surface

Get/Set the surface on which this driver is operating.

write

Write this driver's data to the specified file.

AUTHOR

Top

Cory Watson, <gphat@cpan.org>

Infinity Interactive, http://www.iinteractive.com

BUGS

Top

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

Top


Graphics-Primitive-Driver-CairoPango documentation  | view source Contained in the Graphics-Primitive-Driver-CairoPango distribution.