← All compilation units

Flyology_TUI.Components.Scrollbars

Description

Appearance

type Appearance is record
   Track         : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Thumb         : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Focused_Thumb : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Buttons       : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
   Disabled      : Flyology_TUI.Styles.Style := Flyology_TUI.Styles.Default;
end record;
Record fields
Track
Thumb
Focused_Thumb
Buttons
Disabled

Blur

procedure Blur (Item : in out Model)
Parameters
Item

Configure

procedure Configure
  (Item      : in out Model;
   Total     : Natural;
   Page_Size : Natural;
   First     : Natural)
Parameters
Item
Total
Page_Size
First

Create

function Create
  (Flow   : Orientation;
   Length : Natural) return Model
Parameters
Flow
Length
Return value

First

function First (Item : Model) return Natural
Parameters
Item
Return value

Focus

procedure Focus (Item : in out Model)
Parameters
Item

Focused

function Focused (Item : Model) return Boolean
Parameters
Item
Return value

From_Theme

function From_Theme
  (Theme : Flyology_TUI.Themes.Theme) return Appearance
Parameters
Theme
Return value

Handle

function Handle
  (Item  : in out Model;
   Event : Flyology_TUI.Events.Terminal_Event)
   return Flyology_TUI.Components.Interactions.Update_Result

Matching arrows move one item. Page Up/Down, Home, and End are supported.

Parameters
Item
Event
Return value

Handle

function Handle
  (Item  : in out Model;
   Event : Flyology_TUI.Mouse.Local_Event)
   return Flyology_TUI.Components.Interactions.Update_Result

Local mouse input supports arrow and track clicks, wheel movement, and captured thumb dragging. A release ends a captured drag even outside.

Parameters
Item
Event
Return value

Is_Enabled

function Is_Enabled (Item : Model) return Boolean
Parameters
Item
Return value

Maximum_First

function Maximum_First (Item : Model) return Natural
Parameters
Item
Return value

Model

type Model is tagged private;

Orientation

subtype Orientation is Flyology_TUI.Layouts.Boxes.Direction;

Region

function Region (Item : Model) return Flyology_TUI.Geometry.Rectangle
Parameters
Item
Return value

Render

function Render
  (Item       : Model;
   Appearance : Scrollbars.Appearance)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Appearance
Return value

Render

function Render
  (Item       : Model;
   Appearance : Scrollbars.Appearance;
   Chrome     : Flyology_TUI.Skins.Scrollbar_Chrome)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Appearance
Chrome
Return value

Render

function Render
  (Item : Model;
   Skin : Flyology_TUI.Skins.Skin)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Skin
Return value

Render

function Render
  (Item  : Model;
   Theme : Flyology_TUI.Themes.Theme)
   return Flyology_TUI.Surfaces.Surface
Parameters
Item
Theme
Return value

Resize

procedure Resize (Item : in out Model; Length : Natural)

Resize and Configure cancel thumb movement but preserve capture ownership until the next left release.

Parameters
Item
Length

Set_Enabled

procedure Set_Enabled (Item : in out Model; Enabled : Boolean)

Disabling cancels thumb movement but preserves the pending release of an already-acquired mouse capture.

Parameters
Item
Enabled

Thumb_Region

function Thumb_Region
  (Item : Model) return Flyology_TUI.Geometry.Rectangle
Parameters
Item
Return value

Update

procedure Update
  (Item  : in out Model;
   Event : Flyology_TUI.Events.Terminal_Event)
Parameters
Item
Event

Update

procedure Update
  (Item  : in out Model;
   Event : Flyology_TUI.Mouse.Local_Event)
Parameters
Item
Event