Kitty Graphics Protocol in OCaml
terminal graphics ocaml
1type t = { 2 source_x : int option; 3 source_y : int option; 4 source_width : int option; 5 source_height : int option; 6 cell_x_offset : int option; 7 cell_y_offset : int option; 8 columns : int option; 9 rows : int option; 10 z_index : int option; 11 placement_id : int option; 12 cursor : Kgp_cursor.t option; 13 unicode_placeholder : bool; 14} 15 16let empty = 17 { 18 source_x = None; 19 source_y = None; 20 source_width = None; 21 source_height = None; 22 cell_x_offset = None; 23 cell_y_offset = None; 24 columns = None; 25 rows = None; 26 z_index = None; 27 placement_id = None; 28 cursor = None; 29 unicode_placeholder = false; 30 } 31 32let make ?source_x ?source_y ?source_width ?source_height ?cell_x_offset 33 ?cell_y_offset ?columns ?rows ?z_index ?placement_id ?cursor 34 ?(unicode_placeholder = false) () = 35 { 36 source_x; 37 source_y; 38 source_width; 39 source_height; 40 cell_x_offset; 41 cell_y_offset; 42 columns; 43 rows; 44 z_index; 45 placement_id; 46 cursor; 47 unicode_placeholder; 48 } 49 50let source_x t = t.source_x 51let source_y t = t.source_y 52let source_width t = t.source_width 53let source_height t = t.source_height 54let cell_x_offset t = t.cell_x_offset 55let cell_y_offset t = t.cell_y_offset 56let columns t = t.columns 57let rows t = t.rows 58let z_index t = t.z_index 59let placement_id t = t.placement_id 60let cursor t = t.cursor 61let unicode_placeholder t = t.unicode_placeholder