Graphics::Primitive::Container(3pm)

Graphics::Primitive::Container3pm

Component that holds other components

Usage

  my $c = Graphics::Primitive::Container->new(
    width => 500, height => 350,
    layout_manager => Layout::Manager::Compass->new
  );
  $c->add_component($comp, { meta => 'data' });

Overview

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 ($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.

Releases

8 releases since Debian 6.0 (Squeeze); the text changed 4 times.

  1. 6.0
  2. 7
  3. 8
  4. 9–11
  5. 12–13

Author

Cory Watson, "<[email protected]>"

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.

From libgraphics-primitive-perl 0.67-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.