Tickit::Widget::Scroller::Item - interface for renderable scroller items
Items added to a
Tickit::Widget::Scroller must adhere to the interface documented here.
$height = $item->height_for_width( $width )
Returns the number of screen lines the item would occupy if rendered to the given width.
$item->render( $rb, %args )
Renders the item to the given Tickit::RenderBuffer.
%args will contain the following keys:
- firstline => INT
- lastline => INT
The (inclusive) bounds of the line numbers to render. If these do not cover the entire height of the item, then they imply that clipping will occur; the item need draw only the lines indicated.
These are passed for informational purposes. Item implementations are free to ignore this if they wish, as clipping will be performed by the RenderBuffer.
- top => INT
The line of
$rcto consider as the top of the item. This is passed for legacy purposes and will always be zero. Item implementations are free to ignore this value, as it will now be performed using the
translatefacility of the RenderBuffer.
- width => INT
- height => INT
The width in columns and the height in lines to render the item. This will correspond to the most recent call to
height_for_width, and is passed in for consistency and convenience of the item's render method. This is given as the full dimensions of the item, which may be larger than the subset of lines requested by the
Paul Evans <email@example.com>