Patch title: Release 94 bulk changes
Abstract:
File: /pliant/graphic/layout/helper/recurse.pli
Key:
    Removed line
    Added line
module "/pliant/language/unsafe.pli"
module "/pliant/graphic/layout/prototype.pli"
module "/pliant/graphic/browser/client/context.pli"
module "/pliant/graphic/draw/prototype.pli"


method l position_recurse c -> b
  oarg_rw LayoutPrototype l ; arg_rw LayoutPC c ; arg LayoutArea b
  b reset
  var Link:LayoutPrototype p :> l first
  while exists:p
    if c:canceled
      b x0 := undefined
      return
    b extend (p position c)
    p :> p next
  b finish


method l draw_recurse d c
  oarg_rw LayoutPrototype l ; oarg_rw DrawPrototype d ; arg_rw LayoutDC c
  var Link:LayoutPrototype p :> l first
  while exists:p
    if c:canceled
      return
    p draw d c
    p :> p next


method l event_recurse c
  oarg_rw LayoutPrototype l ; arg_rw LayoutEC c
  if c:mode=layout_event_pointer
    var Link:LayoutPrototype p :> l first
    while exists:p
      p event c
      p :> p next


export '. position_recurse'
export '. draw_recurse'
export '. event_recurse'