Module Cad_session

type pt = Cad_geom.pt
type view = {
  1. center : pt;
  2. upp : float;
  3. w : float;
  4. h : float;
}
type input =
  1. | Text of string
  2. | Pick of pt
  3. | Cancel
type want =
  1. | Idle
  2. | Point
  3. | Objects
  4. | Other
type io =
  1. | Save of string * string
  2. | Load of string
type t
val start : Cad_drawing.t -> view -> t
val drawing : t -> Cad_drawing.t
val view : t -> view
val resize : float -> float -> t -> t
val input : ?cursor:pt -> t -> input -> t
val command : string -> t -> t
val zoom_extents : t -> t
val prompt : t -> string
val wants : t -> want
val anchor : t -> pt option
val log : t -> string list
val preview : t -> pt -> Cad_drawing.entity list
val selected : t -> int list
val selection_box : t -> pt -> (pt * pt * bool) option
val io : t -> io option
val loaded : string -> string option -> t -> t
val running : t -> string option