sig
  type auto_aspect =
      width:Mlpost.Num.t ->
      height:Mlpost.Num.t -> Mlpost.Picture.t -> Mlpost.Transform.t
  val aa_nothing : Mlpost_lablgtk.auto_aspect
  val aa_center : Mlpost_lablgtk.auto_aspect
  val aa_fit_page : Mlpost_lablgtk.auto_aspect
  val aa_fit_width : Mlpost_lablgtk.auto_aspect
  val aa_fit_height : Mlpost_lablgtk.auto_aspect
  class mlpost_pic :
    ?width:int ->
    ?height:int ->
    ?packing:(GObj.widget -> unit) ->
    ?show:bool ->
    unit ->
    object
      val obj : Gtk.widget Gtk.obj
      method as_widget : Gtk.widget Gtk.obj
      method background : GDraw.color
      method coerce : GObj.widget
      method destroy : unit -> unit
      method drag : GObj.drag_ops
      method get_oid : int
      method misc : GObj.misc_ops
      method pic : Mlpost.Picture.t
      method set_auto_aspect : Mlpost_lablgtk.auto_aspect -> unit
      method set_background : GDraw.color -> unit
      method set_pic : Mlpost.Picture.t -> unit
      method set_show_corner : bool -> unit
      method size : int * int
    end
  module Interface :
    sig
      type interface
      val new_interface :
        ?width:int ->
        ?height:int ->
        ?title:string -> unit -> Mlpost_lablgtk.Interface.interface
      val create_text :
        Mlpost_lablgtk.Interface.interface ->
        ?label:string -> string -> (string -> unit) -> unit
      val create_option :
        Mlpost_lablgtk.Interface.interface ->
        ?label:string -> (string * (unit -> unit)) list -> unit
      val remove_pic :
        Mlpost_lablgtk.Interface.interface ->
        (unit -> Mlpost.Command.t) -> unit
      val add_pic :
        Mlpost_lablgtk.Interface.interface ->
        ?width:int ->
        ?height:int ->
        ?title:string ->
        ?show_corner:bool ->
        ?auto_aspect:Mlpost_lablgtk.auto_aspect ->
        (unit -> Mlpost.Command.t) -> unit
      val main : Mlpost_lablgtk.Interface.interface -> unit
    end
end