Module LTerm_windows

module LTerm_windows: sig .. end
Windows specific functions


All these functions return Lwt_sys.Not_available on Unix.

Codepage functions

val get_acp : unit -> int
Returns the current ANSI codepage.
val get_console_cp : unit -> int
Returns the input codepage used by the console attached to the current process.
val set_console_cp : int -> unit
Sets the input codepage used by the console attached to the current process.
val get_console_output_cp : unit -> int
Returns the output codepage used by the console attached to the current process.
val set_console_output_cp : int -> unit
Sets the output codepage used by the console attached to the current process.

Console input

type input = 
| Resize
| Key of LTerm_key.t
| Mouse of LTerm_mouse.t
val read_console_input : Lwt_unix.file_descr -> input Lwt.t
read_console_input fd reads one input from the given file descriptor.

Console info

type text_attributes = {
   foreground : int; (*The foreground color. Only bits 0 to 3 matters, other are ignored.*)
   background : int; (*The background color. Only bits 0 to 3 matters, other are ignored.*)
}
Type of text attributes.
type console_screen_buffer_info = {
   size : LTerm_geom.size; (*The size of the console buffer.*)
   cursor_position : LTerm_geom.coord; (*The line and column of the cursor.*)
   attributes : text_attributes; (*Text attributes.*)
   window : LTerm_geom.rect; (*The displayed windows in the console buffer.*)
   maximum_window_size : LTerm_geom.size; (*The maximum window size for the current screen.*)
}
Type of informations about a console.
val get_console_screen_buffer_info : Lwt_unix.file_descr -> console_screen_buffer_info
get_console_screen_buffer_info fd returns the current informations about the given console.

Console modes

type console_mode = {
   cm_echo_input : bool;
   cm_insert_mode : bool;
   cm_line_input : bool;
   cm_mouse_input : bool;
   cm_processed_input : bool;
   cm_quick_edit_mode : bool;
   cm_window_input : bool;
}
Console modes.
val get_console_mode : Lwt_unix.file_descr -> console_mode
Returns the mode of the given console.
val set_console_mode : Lwt_unix.file_descr -> console_mode -> unit
Sets the mode of the given console.

Console cursor

val get_console_cursor_info : Lwt_unix.file_descr -> int * bool
Returns the size and visible status of the cursor on the given console. The size is a percentage between 1 and 100.
val set_console_cursor_info : Lwt_unix.file_descr -> int -> bool -> unit
set_console_cursor_info fd size visible sets the size and visible status of the cursor on the given console.
val set_console_cursor_position : Lwt_unix.file_descr -> LTerm_geom.coord -> unit
Move the cursor to the specified location in the screen buffer.

Text attributes

val set_console_text_attribute : Lwt_unix.file_descr -> text_attributes -> unit
set_console_text_attribute fd attributes

Rendering

type char_info = {
   ci_char : CamomileLibrary.UChar.t; (*The unicode character.*)
   ci_foreground : int; (*The foreground color.*)
   ci_background : int; (*The background color.*)
}
val write_console_output : Lwt_unix.file_descr ->
char_info array array ->
LTerm_geom.size -> LTerm_geom.coord -> LTerm_geom.rect -> LTerm_geom.rect
write_console_output fd chars size coord rect writes the given matrix of characters with their attributes on the given console at given position.
val fill_console_output_character : Lwt_unix.file_descr ->
CamomileLibrary.UChar.t -> int -> LTerm_geom.coord -> int
fill_console_output_character fd char count coord writes count times char starting at coord on the given console.