itemview
Shared vertical item viewport helpers for List and Dropdown.
Types
ItemViewScrollbarMode
ItemViewScrollbarMode = "auto"|"always"|"hidden"ItemViewGeometry
| Field | Type | Description |
|---|---|---|
| show | boolean | Whether the scrollbar is visible |
| rows | integer | Visible row count |
| maximum | integer | Greatest valid item offset |
| offset | integer | Clamped current item offset |
| thumbSize | integer | Scrollbar thumb size |
| thumbPos | integer | Zero-based scrollbar thumb position |
Methods
itemview.maxOffset(count, rows)
Returns the greatest valid item offset for a viewport.
count (
integer) Item countrows (
integer) Visible row countreturns offset (
integer)
itemview.clampOffset(offset, count, rows)
Clamps an item offset to the visible collection range.
offset (
number, optional) Requested offsetcount (
integer) Item countrows (
integer) Visible row countreturns offset (
integer)
itemview.ensureVisible(offset, index, count, rows)
Adjusts an offset until the requested item is visible.
offset (
number) Current offsetindex (
integer, optional) Item indexcount (
integer) Item countrows (
integer) Visible row countreturns offset (
integer)
itemview.geometry(count, rows, offset, mode)
Calculates scrollbar geometry for an item viewport.
count (
integer) Item countrows (
integer) Visible row countoffset (
number, optional) Current item offsetmode (
ItemViewScrollbarMode) Scrollbar modereturns geometry (
ItemViewGeometry)
itemview.draw(buf, x, y, geometry, foreground, track, thumb)
Draws the scrollbar(s) into the buffer.
- buf (
Render) Render buffer - x (
integer) Scrollbar x position - y (
integer) Scrollbar y position - geometry (
ItemViewGeometry) Viewport geometry - foreground (
number) Foreground color - track (
number) Track color - thumb (
number) Thumb color
itemview.pointerDown(coordinate, geometry)
Resolves a scrollbar press into a new offset or drag grab position.
coordinate (
integer) Coordinate along the scrollbargeometry (
ItemViewGeometry) Geometry returned by itemview.geometryreturns offset (
integer|nil)returns grab (
integer|nil)
itemview.drag(coordinate, grab, geometry)
Converts a scrollbar drag position into an item offset.
coordinate (
integer) Coordinate along the scrollbargrab (
integer) Thumb grab offsetgeometry (
ItemViewGeometry) Geometry returned by itemview.geometryreturns offset (
integer)