logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Cory Watson, "<gphat@cpan.org>"

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.

Methods

do_layout
       Size and position the components in this layout.

Name

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

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.

Synopsis

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

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

See Also