Description
Appearance
type Appearance is record
Streaming_Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Finished_Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Failed_Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Cancelled_Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Focused_Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Background : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
end record;
Record fields
- Streaming_Text
- Finished_Text
- Failed_Text
- Cancelled_Text
- Focused_Text
- Background
Append
function Append
(Item : in out Model;
Chunk : Wide_Wide_String) return Operation_Result
These operations synchronously copy detached caller data. They never start tasks, retain callbacks, or perform I/O. Terminal states reject further text mutation. Reject preflights the complete input before any copy; Trim_Oldest removes complete logical lines first and then complete terminal-oriented grapheme clusters until both bounds hold.
Parameters
- Item
- Chunk
Return value
Cancel
function Cancel (Item : in out Model) return Operation_Result
Parameters
- Item
Return value
Code_Point_Count
function Code_Point_Count (Item : Model) return Natural
Parameters
- Item
Return value
Content
function Content (Item : Model) return Wide_Wide_String
Parameters
- Item
Return value
Create
function Create
(Width : Natural;
Height : Natural;
Overflow : Overflow_Policy := Reject;
Tab_Stop : Tab_Stop_Width := 4;
Follow_Tail : Boolean := True) return Model
Create owns no task or clock. Width and Height are accepted only when their product is within Max_Viewport_Cells; otherwise Capacity_Error is raised before the model is constructed.
Parameters
- Width
- Height
- Overflow
- Tab_Stop
- Follow_Tail
Return value
Fail
function Fail (Item : in out Model) return Operation_Result
Parameters
- Item
Return value
Finish
function Finish (Item : in out Model) return Operation_Result
Parameters
- Item
Return value
First_Visible_Row
function First_Visible_Row (Item : Model) return Natural
Parameters
- Item
Return value
Fits_Viewport
function Fits_Viewport (Width, Height : Natural) return Boolean
Parameters
- Width
- Height
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
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
Coordinates are relative to Render. Wheel scrolling and a left click inside the viewport request focus; this component never captures input.
Parameters
- Item
- Event
Return value
Is_Following_Tail
function Is_Following_Tail (Item : Model) return Boolean
Parameters
- Item
Return value
Logical_Line_Count
function Logical_Line_Count (Item : Model) return Positive
Parameters
- Item
Return value
Max_Code_Points
Max_Code_Points : Positive;
Max_Lines
Max_Lines : Positive;
Max_Viewport_Cells
Max_Viewport_Cells : Positive := 1_000_000;
Model
type Model is tagged private;
Operation_Result
type Operation_Result is
(Applied,
Unchanged,
Rejected_Capacity,
Rejected_State,
Rejected_Geometry);
Applied on Append means a nonempty chunk was accepted as a stream history transition, even when Trim_Oldest leaves byte-identical retained text. Unchanged is reserved for empty appends and replacements whose retained text is already identical.
Enumeration literals
- Applied
- Unchanged
- Rejected_Capacity
- Rejected_State
- Rejected_Geometry
Overflow_Mode
function Overflow_Mode (Item : Model) return Overflow_Policy
Parameters
- Item
Return value
Overflow_Policy
type Overflow_Policy is (Reject, Trim_Oldest);
Enumeration literals
- Reject
- Trim_Oldest
Render
function Render
(Item : Model;
Appearance : Streaming_Texts.Appearance := (others => <>);
Has_Focus : Boolean := False)
return Flyology_TUI.Surfaces.Surface
Parameters
- Item
- Appearance
- Has_Focus
Return value
Render
function Render
(Item : Model;
Theme : Flyology_TUI.Themes.Theme;
Has_Focus : Boolean := False)
return Flyology_TUI.Surfaces.Surface
Parameters
- Item
- Theme
- Has_Focus
Return value
Replace
function Replace
(Item : in out Model;
Content : Wide_Wide_String) return Operation_Result
Parameters
- Item
- Content
Return value
Resize
function Resize
(Item : in out Model;
Width, Height : Natural) return Operation_Result
Resize is atomic. A rejected geometry leaves dimensions, scrolling, follow-tail state, and unseen counters unchanged.
Parameters
- Item
- Width
- Height
Return value
Scroll
function Scroll
(Item : in out Model;
Amount : Integer)
return Flyology_TUI.Components.Interactions.Update_Result
Parameters
- Item
- Amount
Return value
Set_Follow_Tail
procedure Set_Follow_Tail (Item : in out Model; Enabled : Boolean)
Enabling follow-tail moves to the current end and acknowledges all unseen content. Disabling it preserves the current viewport.
Parameters
- Item
- Enabled
State
function State (Item : Model) return Stream_State
Parameters
- Item
Return value
Stream_State
type Stream_State is (Streaming, Finished, Failed, Cancelled);
Enumeration literals
- Streaming
- Finished
- Failed
- Cancelled
Tab_Stop_Width
subtype Tab_Stop_Width is Positive range 1 .. 16;
Unseen_Chunk_Count
function Unseen_Chunk_Count (Item : Model) return Natural
Parameters
- Item
Return value
Unseen_Row_Count
function Unseen_Row_Count (Item : Model) return Natural
Unseen_Row_Count is the current wrapped-row distance below the viewport. Unseen_Chunk_Count records accepted nonempty appends while detached. A rolling byte-identical append can therefore add a chunk without adding geometric rows. Reaching or explicitly following the tail clears both.
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
Viewport_Height
function Viewport_Height (Item : Model) return Natural
Parameters
- Item
Return value
Viewport_Width
function Viewport_Width (Item : Model) return Natural
Parameters
- Item
Return value
Visual_Row_Count
function Visual_Row_Count (Item : Model) return Natural
Parameters
- Item