sig
  type t = Gpointer.boxed
  external new_path : ?size:int -> unit -> GnomeCanvas.PathDef.t
    = "ml_gnome_canvas_path_def_new"
  external duplicate : GnomeCanvas.PathDef.t -> GnomeCanvas.PathDef.t
    = "ml_gnome_canvas_path_def_duplicate"
  external concat : GnomeCanvas.PathDef.t list -> GnomeCanvas.PathDef.t
    = "ml_gnome_canvas_path_def_concat"
  external reset : GnomeCanvas.PathDef.t -> unit
    = "ml_gnome_canvas_path_def_reset"
  external moveto : GnomeCanvas.PathDef.t -> float -> float -> unit
    = "ml_gnome_canvas_path_def_moveto"
  external lineto : GnomeCanvas.PathDef.t -> float -> float -> unit
    = "ml_gnome_canvas_path_def_lineto"
  external lineto_moving : GnomeCanvas.PathDef.t -> float -> float -> unit
    = "ml_gnome_canvas_path_def_lineto_moving"
  external curveto :
    GnomeCanvas.PathDef.t ->
    float -> float -> float -> float -> float -> float -> unit
    = "ml_gnome_canvas_path_def_curveto_bc"
    "ml_gnome_canvas_path_def_curveto"
  external closepath : GnomeCanvas.PathDef.t -> unit
    = "ml_gnome_canvas_path_def_closepath"
  external closepath_current : GnomeCanvas.PathDef.t -> unit
    = "ml_gnome_canvas_path_def_closepath_current"
  external length : GnomeCanvas.PathDef.t -> int
    = "ml_gnome_canvas_path_def_length"
  external is_empty : GnomeCanvas.PathDef.t -> bool
    = "ml_gnome_canvas_path_def_is_empty"
  external has_currentpoint : GnomeCanvas.PathDef.t -> bool
    = "ml_gnome_canvas_path_def_has_currentpoint"
end