(* interface of curses *) (* Franck Delaplace : Mai 2001 *) external initscr :int->int-> unit = "cur_initscr" (* init main window (header size , nlines ) *) external win :unit->unit = "cur_win" (* commute to windows (every command are performed to windows)*) external header :unit->unit = "cur_head" (* commute to header *) external endscr :unit -> unit = "cur_endscr" (* close main window *) external init_pair :int->int->int = "cur_init_pair" (* set a color to a pair of color foreground background *) external init_color:int->int->int->int = "cur_init_pair" (* init_color i r g b changes a color of number i with r g b parameters *) external addch :char->unit = "cur_addch" (* add a character to the current cursor position *) external addstr :string->unit = "cur_addstr" (* add a string *) external addnstr :string->int->unit = "cur_addnstr" (* add a truncated string of n character *) external refresh :unit ->unit = "cur_refresh" (* refresh the screen *) external clear :unit ->unit = "cur_clear" (* clear the screen *) external move :int->int->unit = "cur_move" (* move the cursor to x y position *) external color :int->unit = "cur_color" (* set the color predefined by init_pair more than 50 colors are already predefined 0 cannot be changed by init_pair *) external screenon : unit -> unit = "cur_screenon" (* enable scroll and resize mode *) external isnew :unit->bool = "cur_isnew" (* check if a resize occurs (initial value true ) *) external iswait :unit->bool = "cur_iswait" (* check if a key should be pressed before refresh *) external getx :unit->int = "cur_getx" (* get the number of rows *) external keepy :int->unit = "cur_keepy" (* keep the y which is directly accessed by pressing insert *) external keyspace :unit->unit = "cur_keyspace" (* refresh and wait a key *) external normal:unit->unit = "cur_normal" (* set to normal (default) mode *) external bold :unit->unit = "cur_bold" (* bold (bright) *) external halfbold :unit->unit = "cur_halfbold" (* bold (bright) *) external standout :unit->unit = "cur_standout" (*standout*) external blink :unit->unit = "cur_blink" (* blink *) external reverse :unit->unit = "cur_reverse" (* reverse video *) external delch :unit->unit = "cur_delch" (* delete the character at the cursor position *) external delln :unit->unit = "cur_delln" (* delete the line under the cursor position *) external insertln :unit->unit = "cur_insertln" (* insert a blank line above the current line and the bottom line is lost *) external flash :unit->unit = "cur_flash" (* flash the screen *)