Scroll to navigation

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

Creates a new Container.

Instance Methods

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.

Remove all components from the layout manager.
Returns the number of components in this container.
Returns this Container's ComponentList.
Returns the index of the first component with the supplied name. Returns undef if no component with that name is found.
Get the component at the specified index.
Get the constraint at the specified index.
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.
Prepares this container. Does not mark as prepared, as that's done by the layout manager.
Removes a component. Components must have names to be removed. Returns an arrayref of removed components.
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>. 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.

2022-06-14 perl v5.34.0