Module Stk.Packer

type t = {
  1. min : int;
  2. max : int;
  3. mutable expand : int;
  4. mutable current : int;
  5. mutable fixed : bool;
}
val init : (< id : Stk.Oid.Map.key.. > as 'a -> int) -> ('b -> int option) -> ('c -> int) -> 'd list -> int * t Stk.Oid.Map.t
val fix : Oid.t -> t -> unit
val shrink_or_expand : parts:int -> remain:int -> t Stk.Oid.Map.t -> bool * int * int
val debug_m : t Stk.Oid.Map.t -> unit
val compute_remain : int -> t Stk.Oid.Map.t -> bool * int * int
val compute : int -> (Widget.widget -> int) -> (Widget.widget -> int option) -> (Widget.widget -> int) -> Widget.widget list -> t Stk.Oid.Map.t