sig
  type w
  type widget = Togl.w Widget.widget
  val render : Togl.widget -> unit
  val swap_buffers : Togl.widget -> unit
  val height : Togl.widget -> int
  val width : Togl.widget -> int
  type font =
      [ `Fixed_8x13
      | `Fixed_9x15
      | `Helvetica_10
      | `Helvetica_12
      | `Helvetica_18
      | `Times_10
      | `Times_24
      | `Xfont of string ]
  val load_bitmap_font : Togl.widget -> font:Togl.font -> GlList.base
  val unload_bitmap_font : Togl.widget -> base:GlList.base -> unit
  val use_layer : Togl.widget -> num:int -> unit
  val show_overlay : Togl.widget -> unit
  val hide_overlay : Togl.widget -> unit
  val overlay_redisplay : Togl.widget -> unit
  val exists_overlay : Togl.widget -> bool
  val get_overlay_transparent_value : Togl.widget -> int
  val make_current : Togl.widget -> unit
  val display_func : Togl.widget -> cb:(unit -> unit) -> unit
  val reshape_func : Togl.widget -> cb:(unit -> unit) -> unit
  val overlay_display_func : Togl.widget -> cb:(unit -> unit) -> unit
  val dump_to_eps_file :
    filename:string ->
    ?rgba:bool -> ?render:(unit -> unit) -> Togl.widget -> unit
  val timer_func : ms:int -> cb:(unit -> unit) -> unit
  val configure : ?height:int -> ?width:int -> Togl.widget -> string
  val create :
    ?name:string ->
    ?accum:bool ->
    ?accumalphasize:int ->
    ?accumbluesize:int ->
    ?accumgreensize:int ->
    ?accumredsize:int ->
    ?alpha:bool ->
    ?alphasize:int ->
    ?auxbuffers:int ->
    ?bluesize:int ->
    ?depth:bool ->
    ?depthsize:int ->
    ?double:bool ->
    ?greensize:int ->
    ?height:int ->
    ?overlay:bool ->
    ?privatecmap:bool ->
    ?redsize:int ->
    ?rgba:bool ->
    ?stencil:bool ->
    ?stencilsize:int ->
    ?stereo:bool -> ?width:int -> 'Widget.widget -> Togl.widget
end