Up

module LTerm_windows

: sig

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.

end