sig
  val cast : 'Gobject.obj -> Gtk.layout Gtk.obj
  module P :
    sig
      val hadjustment :
        ([> `layout ], Gtk.adjustment Gtk.obj) Gobject.property
      val height : ([> `layout ], int) Gobject.property
      val vadjustment :
        ([> `layout ], Gtk.adjustment Gtk.obj) Gobject.property
      val width : ([> `layout ], int) Gobject.property
    end
  val create : Gtk.layout Gobject.param list -> Gtk.layout Gtk.obj
  external put :
    [> `layout ] Gtk.obj -> [> `widget ] Gtk.obj -> x:int -> y:int -> unit
    = "ml_gtk_layout_put"
  external move :
    [> `layout ] Gtk.obj -> [> `widget ] Gtk.obj -> x:int -> y:int -> unit
    = "ml_gtk_layout_move"
  external freeze : [> `layout ] Gtk.obj -> unit = "ml_gtk_layout_freeze"
  external thaw : [> `layout ] Gtk.obj -> unit = "ml_gtk_layout_thaw"
  external bin_window : [> `layout ] Gtk.obj -> Gdk.window
    = "ml_gtk_layout_bin_window"
  val make_params :
    cont:(([> `layout ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?hadjustment:Gtk.adjustment Gtk.obj ->
    ?height:int -> ?vadjustment:Gtk.adjustment Gtk.obj -> ?width:int -> 'b
end