Provided by: libgraphics-primitive-perl_0.67-1_all bug

NAME

       Graphics::Primitive::Canvas - Component composed of paths

DESCRIPTION

       Graphics::Primitive::Canvas is a component for drawing arbitrary things.  It holds Paths
       and Operations.

SYNOPSIS

         use Graphics::Primitive::Canvas;

         my $canvas = Graphics::Primitive::Canvas->new;
         $canvas->move_to($point); # or just $x, $y
         $canvas->do($op);

DESCRIPTION

       The Canvas is a container for multiple Paths.  It has a path that is the operative path
       for all path-related methods.  You can treat the Canvas as if it was a path, calling
       methods like line_to or move_to.

       When you are ready to perform an operation on the path, call the do method with the
       operation you want to call as an argument.  Drawing a line and stroking it would look
       like:

         $canvas->move_to(0, 0);
         $canvas->line_to(10, 10);
         my $op = Graphics::Primitive::Operation::Stroke->new;
         $stroke->brush->color(
             Graphics::Color::RGB->new(red => 0, blue => 1, green => 1)
         );
         $canvas->do($op);

       When you instantiate a Canvas a newly instantiated path resides in path.  After you call
       do that current path is moved to the paths list and new path is placed in current_path.
       If you want to keep the path around you can call save before do then call restore to put a
       saved copy of the path back into path.

METHODS

   Constructor
       new Creates a new Graphics::Primitive::Canvas

   Instance Methods
       do  Given an operation, pushes the current path onto the path stack.

             FIXME: Example

       path
           The current path this canvas is using.

       path_count
           Count of paths in paths.

       paths
           Arrayref of hashrefs representing paths combined with their operations:

             [
               {
                   path => $path,
                   op   => $op
               },
             ]

       restore
           Replace the current path by popping the top path from the saved path list.

       save
           Copy the current path and push it onto the stack of saved paths.

       saved_paths
           List of saved paths.  Add to the list with save and pop from it using restore.

       saved_path_count
           Count of paths saved in saved_paths.

AUTHOR

       Cory Watson <gphat@cpan.org>

COPYRIGHT & LICENSE

       Copyright 2008-2010 by Cory G Watson.

       You can redistribute and/or modify this code under the same terms as Perl itself.