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:
my $op = Graphics::Primitive::Operation::Stroke->new;
Graphics::Color::RGB->new(red => 0, blue => 1, green => 1)
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.