---
name: "Tickit::Widget::ScrollBox::Extent"
section: "3pm"
platform: "linux"
package: "libtickit-widget-scrollbox-perl"
version: "0.12-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tickit::Widget::ScrollBox::Extent"
---

# Tickit::Widget::ScrollBox::Extent(3pm)

represents the range of scrolling extent

## 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\>
