Patch title: Release 92 bulk changes
Abstract:
File: /graphic/draw/prototype.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/compiler.pli"
submodule "/pliant/language/type/text/str32.pli"
submodule "/pliant/graphic/image/prototype.pli"
submodule "/pliant/graphic/color/gamut.pli"
submodule "/pliant/math/curve.pli"
submodule "/pliant/graphic/vector/outline.pli"
submodule "/pliant/graphic/vector/font.pli"
submodule "/pliant/math/transform.pli"



submodule "/pliant/language/type/text/str32.pli"
submodule "/pliant/graphic/image/prototype.pli"
submodule "/pliant/graphic/color/gamut.pli"
submodule "/pliant/math/curve.pli"
submodule "/pliant/graphic/vector/outline.pli"
submodule "/pliant/graphic/vector/font.pli"
submodule "/pliant/math/transform.pli"



method d rectangle x0 y0 x1 y1 color
  oarg_rw DrawPrototype d ; arg Float x0 y0 x1 y1 ; arg Addr
  generic

method d fill curves mode t color
  oarg_rw DrawPrototype d ; arg Array:Curve curves ; arg Int
  generic


method d fill curves mode t color
  oarg_rw DrawPrototype d ; arg Array:Curve curves ; arg Int
  generic


method d rectangle x0 y0 x1 y1 color
  oarg_rw DrawPrototype d ; arg Float x0 y0 x1 y1 ; arg Address color
  generic
  (var Array:Curve curves) size := 1
  var Pointer:Curve c :> curves 0
  c angle x0 y0
  c angle x1 y0
  c angle x1 y1
  c angle x0 y1
  c compute outline
  d fill curves fill_evenodd transform color


method d text txt font kerning length t color
  oarg_rw DrawPrototype d ; arg Str32 txt ; arg Font font ; 
  generic
method d text txt font kerning length t color
  oarg_rw DrawPrototype d ; arg Str32 txt ; arg Font font ; 
  generic
  var Float spacing := 1
  if length=defined
    spacing := length/(font length txt kerning)
    if spacing=undefined
      spacing := 0
  var Transform2 cur := t
  for (var Int i) 0 txt:len-1
    var Int num := txt:i number
    d fill (font curves num) outline_evenodd cur color
    var Vector2 v := font vector num
    if kerning<>null
      var Float k := kerning map Float i
      v x *= k ; v y *= k
    if spacing<>1
      v x *= spacing ; v y *= spacing
    v := cur v ; cur xt += v x ; cur yt += v y



method d trouble_close
  oarg_rw DrawPrototype d
  generic



method d trouble_close
  oarg_rw DrawPrototype d
  generic


method d bind draw options -> status
  oarg_rw DrawPrototype d draw ; arg Str options ; arg ExtendedStatus status
  generic
  status := failure "Not available for type "+(entry_type addressof:d):name

method d image_prototype options -> proto
  oarg DrawPrototype d ; arg Str options ; arg ImagePrototype proto
  generic
  proto x0 := undefined
  proto y0 := undefined
  proto x1 := undefined
  proto y1 := undefined
  proto size_x := undefined
  proto size_y := undefined
  proto gamut :> null map ColorGamut

method d play draw options
  oarg_rw DrawPrototype d ; oarg_rw DrawPrototype draw ; arg Str options
  generic


method d query command -> answer
  oarg_rw DrawPrototype d ; arg Str command answer
  generic
  answer := ""

method d configure command -> status
  oarg_rw DrawPrototype d ; arg Str command ; arg ExtendedStatus status
  generic
  status := failure "unknown command"