Skip to content

Modern Tui TuiScreen

Paul Squires edited this page Oct 19, 2026 · 6 revisions

Home › Terminal TUI Library › Buffer and Frame › TuiScreen

TuiScreen

Holds two cell buffers and works out the bytes that turn one frame into the next.

Syntax

type TuiScreen
    declare function BeginFrame( ) as TuiFrame ptr
    declare function Render( byval depth as TuiColorDepth ) as string
    ...
end type

Description

Two buffers and the diff between them. Draw into the frame, call Render, and get back ONLY the bytes needed to turn what the terminal is showing into what you drew.

Example

#import "std/tui"
using tui

dim as TuiScreen scr
scr.Resize( 20, 5 )

dim as TuiFrame ptr f = scr.BeginFrame( )
f->DrawText( 0, 0, "hello", TuiStyleDefault( ) )
print len( scr.Render( TUIDEPTH_ANSI16 ) ) > 0 '' -1 (true)  -- first frame

'' render the SAME thing again
f = scr.BeginFrame( )
f->DrawText( 0, 0, "hello", TuiStyleDefault( ) )
print len( scr.Render( TUIDEPTH_ANSI16 ) )         '' 0 -- nothing changed

See also

TuiCell TuiCell.Equals TuiBuffer TuiBuffer.Clear TuiBuffer.At TuiFrame
TuiCell.SetChar TuiCellBlank TuiBuffer.Resize TuiBuffer.InBounds TuiBuffer.Count TuiFrame.Area

Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Buffer and Frame
Working examples: hello.tiko · form.tiko · dashboard.tiko


Home · Keyword Index

Clone this wiki locally