NAME
Graphics::Primitive::Container - Component that holds other Components
DESCRIPTION
A Container is a omponent that may contain other components.
SYNOPSIS
my $c = Graphics::Primitive::Container->new({
width => 500, height => 350,
layout_manager => Layout::Manager::Compass->new
});
$c->add_component($comp, { meta => 'data' });
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.
METHODS
Constructor
- new
-
Creates a new Container.
Instance Methods
- add_component
-
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.
- find_component
-
Find a component with the given name.
- get_component
-
Get the component 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 the number of components removed.
- validate_component
-
Optionally overriden by an implementation, allows it to deem
AUTHOR
Cory Watson, <gphat@cpan.org>
Infinity Interactive, http://www.iinteractive.com
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. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2008 by Infinity Interactive, Inc.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.