Patch title: Release 92 bulk changes
Abstract:
File: /appli/browser/tag/form.pli
Key:
    Removed line
    Added line
module "/pliant/language/unsafe.pli"
module "prototype.pli"
module "/pliant/language/type/text/str32.pli"
module "/pliant/util/encoding/html.pli"
module "/pliant/math/curve.pli"
module "/pliant/graphic/browser/xml/helper.pli"

constant button_enlarge 4*25.4/72


tag_position input
  if (query "input" "type")="submit"
    var Str32 label := html_decode32 (query "input" "value")
    var Link:Font f :> font "Nimbus Sans L Regular" ; var Float scale := 10*25.5/72
    f bbox label null (var Float bx0) (var Float by0) (var Float bx1) (var Float by1)
    x0 := bx0*scale-button_enlarge ; y0 := by0*scale-button_enlarge ; x1 := bx1*scale+button_enlarge ; y1 := by1*scale+button_enlarge
    addtoline tree
    console "position button " x0 " " y0 " " x1 " " y1 eol

tag_draw input
  if (query "input" "type")="submit"
    (var Array:Curve curves) size := 1
    var Pointer:Curve c :> curves 0 ; var CurvePoint p
    p := curve_point x0+button_enlarge y0+button_enlarge/2 false ; p tg_in -1 0 ; p tg_out 1 0 ; c += p
    p := curve_point x1-button_enlarge y0+button_enlarge/2 false ; p tg_in -1 0 ; p tg_out 1 0 ; c += p
    p := curve_point x1-button_enlarge/2 y0+button_enlarge false ; p tg_in 0 -1 ; p tg_out 0 1 ; c += p
    p := curve_point x1-button_enlarge/2 y1-button_enlarge false ; p tg_in 0 -1 ; p tg_out 0 1 ; c += p
    p := curve_point x1-button_enlarge y1-button_enlarge/2 false ; p tg_in 1 0 ; p tg_out -1 0 ; c += p
    p := curve_point x0+button_enlarge y1-button_enlarge/2 false ; p tg_in 1 0 ; p tg_out -1 0 ; c += p
    p := curve_point x0+button_enlarge/2 y1-button_enlarge false ; p tg_in 0 1 ; p tg_out 0 -1 ; c += p
    p := curve_point x0+button_enlarge/2 y0+button_enlarge false ; p tg_in 0 1 ; p tg_out 0 -1 ; c += p
    c compute outline
    var Int color := 0C0F0F0h
    fill curves fill_evenodd transform addressof:color
    var Str32 label := html_decode32 (query "input" "value")
    var Link:Font f :> font "Nimbus Sans L Regular" ; var Float scale := 10*25.5/72
    f bbox label null (var Float bx0) (var Float by0) (var Float bx1) (var Float by1)
    var Int color := 0
    text label f null undefined (transform x0+button_enlarge y0+button_enlarge-by0*scale scale scale 0 0) addressof:color

tag_event input
  if (query "input" "type")="submit"
    if key="press button1"
      url := full_url (query "input" "name")