Buffer class
Native OpenTUI cell grid borrowed from a Renderer.
Each cell stores a character, packed RGBA foreground and background, and a
u32 attribute word. Widgets do not paint through this type; they record
into a PaintingContext. Obtain a buffer from Renderer.nextBuffer only
on the advanced package:noir/noir_low_level.dart path.
Lifecycle: the instance is valid until the next Renderer.render or until the owner is disposed. Later operations throw StateError. Coordinates and extents must fit unsigned 32-bit ABI values.
Example:
final buffer = renderer.nextBuffer;
buffer.clear(Color.rgb(0.1, 0.13, 0.17));
buffer.drawBox(5, 2, 30, 15,
BoxOptions(title: 'Settings'),
Color.cyan, Color.darkGray);
buffer.drawText('Welcome to OpenTUI!', 10, 5, Color.white);
buffer.fillRect(10, 8, 20, 1, Color.green);
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → int
-
Height of the buffer in terminal rows.
no setter
- isInvalidated → bool
-
Whether this buffer has been invalidated.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- width → int
-
Width of the buffer in terminal columns.
no setter
Methods
-
clear(
Color bg) → void - Clears the entire buffer to a uniform background color.
-
clipped(
{required int clipX, required int clipY, required int clipWidth, required int clipHeight}) → Buffer -
Returns a Buffer view that silently drops draw calls outside the
rectangle
(clipX, clipY, clipWidth, clipHeight). The view shares the underlying FFI buffer and validity state; invalidating the parent also invalidates every clipped view. Used by scrolling/clipping containers (e.g.ScrollBox). -
drawBox(
int x, int y, int width, int height, BoxOptions options, Color borderColor, Color backgroundColor) → void - Draws a bordered rectangle with optional titles and fill.
-
drawFrameBuffer(
Buffer sourceBuffer, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY) → void - Draw another buffer onto this buffer (compositing).
-
drawImage(
TerminalImage image, {required int x, required int y, required int width, required int height, int pixelWidth = 0, int pixelHeight = 0, int sourceX = 0, int sourceY = 0, int? sourceWidth, int? sourceHeight, ImageProtocol protocol = ImageProtocol.auto, int? clipX, int? clipY, int? clipWidth, int? clipHeight}) → bool -
Draws
imageinto a terminal-cell rectangle. -
drawText(
String text, int x, int y, Color fg, {Color? bg, int attributes = 0}) → void - Draws text at the specified position with styling options.
-
fillRect(
int x, int y, int width, int height, Color color) → void - Fills a rectangular region with solid background color.
-
getDirectAccess(
) → DirectBufferAccess - Get direct access to internal arrays for performance-critical operations.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
resize(
int newWidth, int newHeight) → void -
Resizes the buffer to
newWidthbynewHeightterminal cells. -
setCell(
int x, int y, String char, Color fg, Color bg, int attributes) → void - Sets a single cell at (x, y) using alpha blending.
-
setCellWithAlphaBlending(
int x, int y, String char, Color fg, Color bg, int attributes) → void - Sets a cell at (x, y) with full alpha-blending support.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited