Patch title: Release 87 bulk changes
Abstract:
File: /pliant/graphic/browser/deprecated/common.pli
Key:
    Removed line
    Added line
submodule "/pliant/language/compiler.pli"
submodule "/pliant/language/compiler/type/inherit.pli"
submodule "/pliant/graphic/image/prototype.pli"
submodule "/pliant/graphic/misc/float.pli"
submodule "/pliant/util/encoding/html.pli"
submodule "prototype.pli"
submodule "/pliant/graphic/vector/outline.pli"
submodule "/pliant/graphic/vector/font.pli"
submodule "/pliant/math/transform.pli"
module "/pliant/math/curve.pli"


public


method img rrectangle x0 y0 x1 y1 r color
  oarg_rw ImagePrototype img ; arg Float x0 y0 x1 y1 ; arg Float r ; arg Address color
  (var Array:Curve a) size := 1
  var Pointer:Curve c :> a 0
  var CurvePoint p
  p := curve_point x0+r y0 true ; p tg_in -r 0 ; c += p
  p := curve_point x1-r y0 true ; p tg_out r 0 ; c += p
  p := curve_point x1 y0+r true ; p tg_in 0 -r ; c += p
  p := curve_point x1 y1-r true ; p tg_out 0 r ; c += p
  p := curve_point x1-r y1 true ; p tg_in r 0 ; c += p
  p := curve_point x0+r y1 true ; p tg_out -r 0 ; c += p
  p := curve_point x0 y1-r true ; p tg_in 0 r ; c += p
  p := curve_point x0 y0+r true ; p tg_out 0 -r ; c += p
  c compute outline
  img fill a outline_evenodd transform color


function html_color s -> c
  arg Str s ; arg Int c
  function hexa s -> i
    arg Str s ; arg Int i
    i := 0
    for (var Int index) 0 s:len-1
      var Int c := s:index:number
      if c>="0":number and c<="9":number
        i := i*16+(c-"0":number)
      eif c>="A":number and c<="Z":number
        i := i*16+(c+10-"A":number)
      eif c>="a":number and c<="z":number
        i := i*16+(c+10-"a":number)
  if (s 0 1)="#" and s:len=7
    c := hexa:(s 1 2)+hexa:(s 3 2)*2^8+hexa:(s 5 2)*2^16
  else
    c := undefined