Module PathVisual.UI


module UI: sig .. end


Interface in Curses for visualizing pathfinding functions in caves.
type pos = int * int 

type state = {
   mutable window : Curses.window;
   mutable window_cave : Curses.window;
   mutable cave : PathVisual.Cave.wall_types array array;
   mutable cursor : pos;
   mutable src : pos;
   mutable dst : pos;
   mutable path : (int * int) list;
   mutable alg : int;
   mutable auto_path : bool;
   mutable dist_alg : int;
   mutable path_opt_alg : int;
   mutable map_type : int;
   mutable cave_x : int;
   mutable cave_y : int;
}
val printf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
val sprintf : ('a, unit, string) Pervasives.format -> 'a
val string_of_char : char -> string
val getch' : int -> string
val getch : unit -> string
val get_pathfinding : int ->
PathVisual.Cave.t ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.distance_function -> PathVisual.PathFinding.path
val get_pathfinding_name : int -> string
val get_dist_alg : int -> PathVisual.PathFinding.pos -> PathVisual.PathFinding.pos -> float
val get_dist_alg_name : int -> string
val get_path_opt_alg : int ->
PathVisual.Cave.t ->
PathVisual.PathFinding.path -> PathVisual.PathFinding.path
val get_path_opt_alg_name : int -> string
val get_map_type : int -> int -> int -> PathVisual.Cave.t
val get_map_type_name : int -> string
val printcave : Curses.window -> PathVisual.Cave.t -> unit
val set_cursor_ifvalid : state -> int * int -> unit
val waddstr : Curses.window -> int -> int -> string -> unit
val refresh : state -> unit
val draw_path : state -> unit
val my_draw : state -> unit
val debug_path_legend : state -> unit
val debug_path : state -> unit
val set_path : state -> unit
val debug_opt_legend : state -> unit
val debug_opt : state -> unit
val new_map : state -> unit
val loop : state -> unit
val main : unit -> unit
val curses_keys : unit -> 'a