Cory G Watson > Layout-Manager-0.35 > Layout::Manager::Axis

Download:
Layout-Manager-0.35.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  0
View/Report Bugs
Source  

NAME ^

Layout::Manager::Axis - Compass-like resizing managers

DESCRIPTION ^

Axis is very similar to Compass with one exception: Components added to the east and west consume space on the sides of of the north and south.

Components at the north and south are resized when east and west components are added.

  +--------------------------------+
  |  x  |        north       |  x  |
  +-----+--------------------+-----+
  |     |                    |     |
  |  w  |                    |  e  |
  |  e  |       center       |  a  |
  |  s  |                    |  s  |
  |  t  |                    |  t  |
  |     |                    |     |
  +-----+--------------------+-----+
  |  x  |      south         |  x  |
  +--------------------------------+

The x boxes above will effectively be dead-space. No components will occupy those areas.

Why, you ask? Some components (such as axes on a chart, for which this manager is named) need to be the exact same hight or with as the center component. If the chart area is represented by the center area and an axis is positioned to the west, it needs to know how big the center is to accurately draw tick marks.

SYNOPSIS ^

  $cont->add_component($comp1, 'north');
  $cont->add_component($comp2, 'east');

  my $lm = Layout::Manager::Axis->new;
  $lm->do_layout($cont);

POSITIONING ^

When you add a component with add_component the second argument should be one of: north, south, east, west or center. Case doesn't matter. You can also just provide the first letter of the word and it will do the same thing.

METHODS ^

do_layout

Size and position the components in this layout.

AUTHOR ^

Cory Watson, <gphat@cpan.org>

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.

syntax highlighting: