Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

graphics::primitive(3pm) [debian man page]

Graphics::Primitive(3pm)				User Contributed Perl Documentation				  Graphics::Primitive(3pm)

NAME
Graphics::Primitive - Device and library agnostic graphic primitives SYNOPSIS
Graphics::Primitive is a device and library agnostic system for creating and manipulating various graphical elements such as Borders, Fonts, Paths and the like. my $c = Graphics::Primitive::Component->new( background_color => Graphics::Color::RGB->new( red => 1, green => 0, blue => 0 ), width => 500, height => 350, border => new Graphics::Primitive::Border->new( width => 5 ) ); my $driver = Graphics::Primitive::Driver::Cairo->new(format => 'SVG'); $driver->prepare($c); $driver->finalize($c); $driver->draw($c); $driver->write($filename) DESCRIPTION
Graphics::Primitive is library agnostic system for drawing things. The idea is to allow you to create and manipulate graphical components and then pass them off to a Driver for actual drawing. CONCEPTS
The root object for Graphics::Primitive is the Component. Components contain all the common elements that you'd expect: margins, padding, background color etc. The next most important is the Container. Containers are Components that can hold other Components. Containers have all the attributes and methods of a Component with the addition of the layout_manager attribute for us with Layout::Manager. Another important Component is the Canvas. The Canvas differs from other components by being a container for various Geometry::Primitive objects. This allows drawing of arbitrary shapes that do not fit existing components. DRAWING LIFECYCLE
After creating all your components, there is a lifecycle that allows them to do their internal housekeeping to prepare for eventual drawing. The lifecycle is: prepare, layout and pack. Detailed explanation of these methods can be found in Component. PREPARATION
Graphics::Primitive::Component has a "prepared" flag. This flag is set as part of the "prepare" method (shocking, I know). If this flag is set, then subsequent calls to "prepare" are ignored. Containers also have a prepare flag, but this flag is not set when calling "prepare". A Container's flag should be set by the layout manager. More information may be found with Layout::Manager. INSPIRATION
Most of the concepts that you'll find in Graphics::Primitive are inspired by Cairo <http://cairographics.org>'s API and CSS <http://www.w3.org/Style/CSS/>'s box model. AUTHOR
Cory Watson, "<gphat@cpan.org>" CONTRIBUTORS
Florian Ragwitz ACKNOWLEDGEMENTS
Many of the ideas here come from my experience using the Cairo library. COPYRIGHT &; LICENSE Copyright 2008-2010 by Cory G Watson. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.3 2011-06-02 Graphics::Primitive(3pm)

Check Out this Related Man Page

Graphics::Primitive::Canvas(3pm)			User Contributed Perl Documentation			  Graphics::Primitive::Canvas(3pm)

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. perl v5.12.3 2010-08-21 Graphics::Primitive::Canvas(3pm)
Man Page