Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Miaou_driver_matrix.Matrix_diffSourceDiff algorithm for the Matrix driver.
Compares front and back buffers to compute minimal changes needed to update the terminal display. Optimizes for:
type change = | MoveTo of int * intMove cursor to (row, col), 0-indexed
*)| SetStyle of Matrix_cell.styleChange current text style
*)| WriteChar of stringWrite a single character
*)| WriteRun of string * intWrite character repeated N times
*)A single change operation.
Compute diff between front (displayed) and back (new) buffers. Returns list of changes to transform front into back. NOT thread-safe - use compute_atomic for two-domain architecture.
Compute diff atomically with buffer lock held. Thread-safe for two-domain architecture. Also swaps buffers while holding the lock to prevent torn reads. Use this from the render domain.
val compute_region :
Matrix_buffer.t ->
row:int ->
col:int ->
width:int ->
height:int ->
change listCompute diff for a specific region of the buffer.
Count number of cells that differ between front and back.