NAME
Tickit::Widget::ScrollBox::Extent
- represents the range of scrolling extent
DESCRIPTION
This small utility object stores the effective scrolling range for a Tickit::Widget::ScrollBox. They are not constructed directly, but instead returned by the hextent
and vextent
methods of the associated ScrollBox.
ACCESSORS
viewport
$viewport = $extent->viewport
Returns the size of the viewable portion of the scrollable area (the "viewport").
total
$total = $extent->total
Returns the total size of the scrollable area; which is always at least the size of the viewport.
set_total
$extent->set_total( $total )
Sets the total size of the scrollable area. This method should only be used by the child widget, when it is performing smart scrolling.
limit
$limit = $extent->limit
Returns the limit of the offset; the largest value the start offset may be. This is simply $total - $viewport
, with a limit applied so that it returns zero rather than a negative value, in the case that the viewport is larger than the total.
start
$start = $extent->start
Returns the start position offset of the viewport within the total area. This is always at least zero, and no greater than the limit.
METHODS
scroll
$extent->scroll( $delta )
Requests to move the start by the amount given. This will be clipped if it moves outside the allowed range.
scroll_to
$extent->scroll_to( $new_start )
Requests to move the start to that given. This will be clipped if it is outside the allowed range.
scrollbar_geom
( $bar_top, $mark_top, $mark_bottom, $bar_bottom ) = $extent->scrollbar_geom( $top, $length )
Calculates the start and end positions of a scrollbar and the mark within it to represent the position of the extent. Returns four integer indexes within $length
.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>