Skip to content

Modern Tui TuiScreen Render

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

Home › Terminal TUI Library › Buffer and Frame › TuiScreen.Render

TuiScreen.Render

Returns the bytes that change the last frame into the new one, then swaps buffers.

Syntax

TuiScreen.Render( byval depth as TuiColorDepth ) as string

Description

Diffs back against front, emits the bytes, and swaps. The style is carried ACROSS frames as well as within one -- a stuck highlight was a real defect here, where a deselected row emitted no SGR because its style matched an assumed default the terminal was no longer in.

Example

#import "std/tui"
using tui

dim as TuiScreen scr
scr.Resize( 16, 3 )

dim as TuiFrame ptr f = scr.BeginFrame( )
f->DrawText( 0, 0, "abc", TuiStyleDefault( ) )
dim as string first_ = scr.Render( TUIDEPTH_TRUECOLOR )

f = scr.BeginFrame( )
f->DrawText( 0, 0, "abd", TuiStyleDefault( ) )     '' one character differs
dim as string second_ = scr.Render( TUIDEPTH_TRUECOLOR )

print len( second_ ) < len( first_ ) '' -1 (true)  -- only the diff

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