Patch title: Release 87 bulk changes
Abstract:
File: /pliant/graphic/browser/tag/root.pli
Key:
    Removed line
    Added line
module "common.pli"


type D2Root
  inherit D2Box
  field (List Link:D2Box) content

D2Box maybe D2Root

method r list -> l
  oarg_rw D2Root r ; arg Pointer:(List Link:D2Box) l
  l :> r content

method r position c
  oarg_rw D2Root r ; arg_rw D2Context c
  r position_undefined c
    
method r draw img c
  oarg_rw D2Root r ; oarg_rw ImagePrototype img ; arg_rw D2Context c
  each b r:content
    b draw img c

export D2Root


type D2Head
  inherit D2Box
  field (List Link:D2Box) content

D2Box maybe D2Head

method h list -> l
  oarg_rw D2Head h ; arg Pointer:(List Link:D2Box) l
  l :> h content

method h position c
  oarg_rw D2Head h ; arg_rw D2Context c
  function undefined_recurse b
    oarg_rw D2Box b
    b x0 := undefined ; b y0 := undefined ; b x1 := undefined ; b y1 := undefined
    var Pointer:(List Link:D2Box) l :> b list
    if exists:l
      each bb l
        undefined_recurse bb
  undefined_recurse h

html_tags insert "head" true addressof:D2Head


type D2Body
  inherit D2Box
  field (List Link:D2Box) content
  field Int bgcolor <- undefined

D2Box maybe D2Body

method b configure attribute value options
  oarg_rw D2Body b ; arg Str attribute value options
  if attribute="bgcolor"
    b bgcolor := html_color value

method b list -> l
  oarg_rw D2Body b ; arg Pointer:(List Link:D2Box) l
  l :> b content

method b position c
  oarg_rw D2Body b ; arg_rw D2Context c
  b position_undefined c
    
method b draw img c
  oarg_rw D2Body b ; oarg_rw ImagePrototype img ; arg_rw D2Context c
  if b:bgcolor=defined
    img rectangle img:x0 img:y0 img:x1 img:y1 (addressof b:bgcolor)
  b draw_recurse img c

html_tags insert "body" true addressof:D2Body