NAME

Graphics::Grid::Grob - Role for graphical object (grob) classes in Graphics::Grid

VERSION

version 0.001

DESCRIPTION

This is the role for graphical object (grob) classes.

ATTRIBUTES

vp

A viewport object. When drawing a grob, if the grob has this attribute, the viewport would be temporily pushed onto the global viewport stack before drawing takes place, and be poped after drawing. If the grob does not have this attribute set, it would be drawn on the existing current viewport in the global viewport stack.

elems

Get number of sub-elements in the grob.

Grob classes shall implement a _build_elems() method to support this attribute.

CLASS METHODS

grob_name($prefix="GRID")

Generate a unique name for a grob.

METHODS

length

This is an alias of elems.

extents($grid)

Returns info about the grob's extents (bounding box, etc) on the drawing layer, in cm.

Note that not all grob classes have got this method implemented.

draw($grid)

This would call $grid->draw($self), which would further call the grob's _draw method.

_draw($grid)

make_context()

A hook to allow a grob class to modify its vp before being drawn.

SEE ALSO

Graphics::Grid

AUTHOR

Stephan Loyd <sloyd@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018-2023 by Stephan Loyd.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.