Patch title: Release 92 bulk changes
Abstract:
File: /graphic/image/transform.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/compiler.pli"
module "prototype.pli"
module "/pliant/language/compiler/type/inherit.pli"
module "/pliant/math/point.pli"
module "/pliant/math/vector.pli"
module "/pliant/math/transform.pli"
module "/pliant/graphic/misc/transform.pli"


method t bind image trans target options -> status
  oarg_rw ImageTransform t ; oarg ImagePrototype image ; arg
  t image :> image
  trans bbox image:x0 image:y0 image:x1 image:y1 (var Float 
  var Int ix0 := max (target index_x tx0) 0
  var Int iy0 := max (target index_y ty0) 0
  var Int ix1 := min (target index_x tx1)+1 target:size_x
  var Int iy1 := min (target index_y ty1)+1 target:size_y
module "/pliant/language/compiler.pli"
module "prototype.pli"
module "/pliant/language/compiler/type/inherit.pli"
module "/pliant/math/point.pli"
module "/pliant/math/vector.pli"
module "/pliant/math/transform.pli"
module "/pliant/graphic/misc/transform.pli"


method t bind image trans target options -> status
  oarg_rw ImageTransform t ; oarg ImagePrototype image ; arg
  t image :> image
  trans bbox image:x0 image:y0 image:x1 image:y1 (var Float 
  var Int ix0 := max (target index_x tx0) 0
  var Int iy0 := max (target index_y ty0) 0
  var Int ix1 := min (target index_x tx1)+1 target:size_x
  var Int iy1 := min (target index_y ty1)+1 target:size_y
  if ix1=ix0
    if ix1<target:size_x
      ix1 += 1
    else
      ix0 -= 1
  if iy1=iy0
    if iy1<target:size_y
      iy1 += 1
    else
      iy0 -= 1
  if ix1<=ix0 or iy1<=iy0
    return failure
  if false
    if ix1=ix0
      if ix1<target:size_x
        ix1 += 1
      else
        ix0 -= 1
    if iy1=iy0
      if iy1<target:size_y
        iy1 += 1
      else
        iy0 -= 1
  check ix0>=0 and iy0>=0 and ix1<=target:size_x and iy1<=ta
  check ix1>ix0 and iy1>iy0
  addressof:t map ImagePrototype := image_prototype (target 
  var Transform2 d := compose (transform image:x0 image:y0 (
  var Transform2 r := reverse d
  var Point2 p := r (point 0.5 0.5) ; t zx := p:x-0.499 ; t 
  var Vector2 v := r (vector 1 0) ; t vxx := v x ; t vxy := 
  var Vector2 v := r (vector 0 1) ; t vyx := v x ; t vyy := 
  t always_inside := options option "always_inside"
  status := success



export ImageTransform '. bind' '. line_clip'
  check ix0>=0 and iy0>=0 and ix1<=target:size_x and iy1<=ta
  check ix1>ix0 and iy1>iy0
  addressof:t map ImagePrototype := image_prototype (target 
  var Transform2 d := compose (transform image:x0 image:y0 (
  var Transform2 r := reverse d
  var Point2 p := r (point 0.5 0.5) ; t zx := p:x-0.499 ; t 
  var Vector2 v := r (vector 1 0) ; t vxx := v x ; t vxy := 
  var Vector2 v := r (vector 0 1) ; t vyx := v x ; t vyy := 
  t always_inside := options option "always_inside"
  status := success



export ImageTransform '. bind' '. line_clip'