Tickit::Rect - a lightweight data structure representing a rectangle
Tickit::Rect
use Tickit::Rect; my $rect = Tickit::Rect->new( top => 0, left => 5, lines => 3, cols => 10 );
Objects in this class represent a rectangle, by storing the top left corner coordinate and the size in lines and columns. This data structure is purely abstract and not tied to a particular window or coordinate system. It exists simply as a convenient data store containing some useful utility methods.
Construct a new rectangle of the given geometry, given by top, left and either lines and cols, or bottom and right.
top
left
lines
cols
bottom
right
If given a single string, this will be parsed in the form
(left,top)..(right,bottom)
If there is an intersection between the given rectangles, return it. If not, return undef.
undef
Returns a new rectangle of the same size as the given one, moved down and to the right by the given argmuents (which may be negative)
Return the edge boundaries of the rectangle.
Return the size of the rectangle.
A convenient shortcut to generate the list of lines covered; being
$rect->top .. $rect->bottom - 1
Returns true if $other represents the same area as $rect.
$other
$rect
Returns true if $other is entirely contained within the bounds of $rect.
Returns true if $other and $rect intersect at all, even if they overlap.
Returns a list of the non-overlapping regions covered by either $rect or $other.
In the trivial case that the two given rectangles do not touch, the result will simply be a list of the two initial rectangles. Otherwise a list of newly-constructed rectangles will be returned that covers the same area as the original two. This list will contain anywhere between 1 and 3 rectangles.
Returns a list of the non-overlapping regions covered by $rect but not by $other.
In the trivial case that $other completely covers $rect then the empty list is returned. In the trivial case that $other and $rect do not intersect then a list containing $rect is returned. Otherwise, a list of newly-constructed rectangles will be returned that covers the required area. This list will contain anywhere between 1 and 4 rectangles.
Paul Evans <leonerd@leonerd.org.uk>
To install Tickit, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tickit
CPAN shell
perl -MCPAN -e shell install Tickit
For more information on module installation, please visit the detailed CPAN module installation guide.