(* Kitty Graphics Protocol - Placement *) type t = { source_x : int option; source_y : int option; source_width : int option; source_height : int option; cell_x_offset : int option; cell_y_offset : int option; columns : int option; rows : int option; z_index : int option; placement_id : int option; cursor : Kgp_types.cursor option; unicode_placeholder : bool; } let empty = { source_x = None; source_y = None; source_width = None; source_height = None; cell_x_offset = None; cell_y_offset = None; columns = None; rows = None; z_index = None; placement_id = None; cursor = None; unicode_placeholder = false; } let make ?source_x ?source_y ?source_width ?source_height ?cell_x_offset ?cell_y_offset ?columns ?rows ?z_index ?placement_id ?cursor ?(unicode_placeholder = false) () = { source_x; source_y; source_width; source_height; cell_x_offset; cell_y_offset; columns; rows; z_index; placement_id; cursor; unicode_placeholder; }