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>