---
name: "Graph::Easy::Layout::Grid"
section: "3pm"
platform: "linux"
package: "libgraph-easy-perl"
version: "0.76-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Graph::Easy::Layout::Grid"
---

# Graph::Easy::Layout::Grid(3pm)

Grid management and size calculation

## NAME

Graph::Easy::Layout::Grid - Grid management and size calculation

## SYNOPSIS

```
        use Graph::Easy;
        my $graph = Graph::Easy->new();
        my $bonn = Graph::Easy::Node->new(
                name => 'Bonn',
        );
        my $berlin = Graph::Easy::Node->new(
                name => 'Berlin',
        );
        $graph->add_edge ($bonn, $berlin);
        $graph->layout();
        print $graph->as_ascii( );
        # prints:
        # +------+     +--------+
        # | Bonn | --> | Berlin |
        # +------+     +--------+
```

## DESCRIPTION

`"Graph::Easy::Layout::Grid"` contains routines that calculate cell sizes on the grid, which is necessary for ASCII, boxart and SVG output.

Used automatically by Graph::Easy.

## EXPORT

Exports nothing.

## SEE ALSO

Graph::Easy.

## METHODS

This module injects the following methods into Graph::Easy:

### \_prepare\_layout()

```
        my ($rows,$cols,$max_x,$max_y, \@V) = $graph->_prepare_layout();
```

Returns two hashes (`$rows` and `$cols`), containing the columns and rows of the layout with their nec. sizes (in chars) plus the maximum framebuffer size nec. for this layout. Also returns reference of a list of all cells to be rendered.

## AUTHOR

Copyright (C) 2004 - 2006 by Tels \<http://bloodgate.com\>.

See the LICENSE file for information.
