Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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

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

NAME
Graphics::Primitive::Container - Component that holds other Components DESCRIPTION
Containers are components that contain other components. They can also hold an instance of a Layout::Manager for automatic layout of their internal components. See the Component's Lifecycle Section for more information. SYNOPSIS
my $c = Graphics::Primitive::Container->new( width => 500, height => 350, layout_manager => Layout::Manager::Compass->new ); $c->add_component($comp, { meta => 'data' }); METHODS
Constructor new Creates a new Container. Instance Methods add_component ($component, [ $constraint ]) Add a component to the container. Returns a true value if the component was added successfully. A second argument may be required, please consult the POD for your specific layout manager implementation. Before the component is added, it is passed to the validate_component method. If validate_component does not return a true value, then the component is not added. clear_components Remove all components from the layout manager. component_count Returns the number of components in this container. component_list Returns this Container's ComponentList. find_component Returns the index of the first component with the supplied name. Returns undef if no component with that name is found. get_component Get the component at the specified index. get_constraint Get the constraint at the specified index. get_tree Returns a Forest::Tree object with this component at the root and all child components as children. Calling this from your root container will result in a tree representation of the entire scene. prepare Prepares this container. Does not mark as prepared, as that's done by the layout manager. remove_component Removes a component. Components must have names to be removed. Returns an arrayref of removed components. validate_component Optionally overridden by an implementation, allows it to deem a component as invalid. If this sub returns false, the component won't be added. AUTHOR
Cory Watson, "<gphat@cpan.org>" 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 <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-2009 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::Container(3pm)

Check Out this Related Man Page

Layout::Manager(3pm)					User Contributed Perl Documentation				      Layout::Manager(3pm)

NAME
Layout::Manager - 2D Layout Management SYNOPSIS
Layout::Manager provides a simple interface for creating layout managers, or classes that size and position components within a container. A few managers are provided for reference, but this module is primarily meant to serve as a base for outside implementations. use Layout::Manager; my $foo = Layout::Manager->new; $foo->do_layout($component); USING A LAYOUT MANAGER
Layout::Manager relies on Graphics::Primitive::Container as a source for it's components. Various implementations of Layout::Manager will require you do add components with slightly different second arguments, but the general case will be: $lm->add_component($comp, $constraints); The contents of $constraints must be discerned by reading the documentation for the layout manager you are using. The $comp argument must be a Graphics::Primitive::Component. Layout manager works hand-in-hand with Graphics::Primitive, so you'll want to check out the lifecyle documented in Graphics::Primitive::Component. It will look something like this: $cont->add_component($foo, { some => metadata }); $driver->prepare($cont); my $lm = new Layout::Manager::SomeImplementation; $lm->do_layout($cont); $driver->pack($cont); $driver->draw($cont); When you are ready to lay out your container, you'll need to call the do_layout method with a single argument: the component in which you are laying things out. When do_layout returns all of the components should be resized and repositioned according to the rules of the Layout::Manager implementation. PREPARATION Subsequent calls to do_layout will be ignored if the Container is prepared. The Container's "prepared" flag and the flags of all it's children are checked, so any modifications to any child component will cause the entire container (and any container children) to be laid out again. WRITING A LAYOUT MANAGER
Layout::Manager provides all the methods necessary for your implementation, save the do_layout method. This method will be called when it is time to layout the components. The add_component method takes two arguments: the component and a second, abritrary piece of data. If your layout manager is simple, like Compass, you may only require a simple variable like "NORTH". If you create something more complex the second argument may be a hashref or an object. The value of the components method is an arrayref of hashrefs. The hashrefs have two keys: component The component to be laid out. args The argument provided to add_component. TIPS
Layout manager implementations should honor the visible attribute of a component, as those components need to be ignored. METHODS
do_layout Lays out this manager's components in the specified container. AUTHOR
Cory Watson, "<gphat@cpan.org>" SEE ALSO
perl(1), Graphics::Primitive COPYRIGHT &; LICENSE Copyright 2008 - 2010 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-05-16 Layout::Manager(3pm)
Man Page