Rev 8583 | Rev 17173 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_author=Fabrice, Guerimand
slib_example= 200,200,1,-5,5,-5,5,,,red,blue,html\
200,200,1,-5,5,-5,5,,,red,blue\
400,200,1,-5,5,-5,5,,,blue,blue,html\
!exit
:proc
slib_input=$wims_read_parm
!distribute items $slib_input into xsize,ysize,marge,xmin,xmax,ymin,ymax,xgd,ygd,colora,colorg,slib_option
slib_out=$slib_input
!default xsize=400
!default ysize=400
!default marge=20
!default xmin=-5
!default xmax=5
!default ymin=-5
!default ymax=5
!default xgd=1
!default ygd=1
!default colora=black
!default colorg=grey
ex=$[($xsize-2*$marge)/($xmax-$xmin)]
ey=$[($ysize-2*$marge)/($ymax-$ymin)]
x0=$[$marge-$ex*$xmin]
y0=$[$marge+$ey*$ymax]
!ifval $xmax*($xmin)<0
xcor=1
!else
xcor=0
!endif
!ifval $ymax*($ymin)<0
ycor=1
!else
ycor=0
!endif
xcor=1
ycor=1
repere=parallel $x0,$[$y0-($ymax)*($ey)],$x0,$[$y0-($ymin)*$ey],$[$ex*($xgd)],0,$[(($xsize-$marge-$x0)/$ex)/$xgd+$xcor],$colorg\
parallel $x0,$[$y0-($ymax)*($ey)],$x0,$[$y0-($ymin)*$ey],$[-$ex*($xgd)],0,$[((-$marge+$x0)/$ex)/$xgd+$xcor],$colorg\
parallel $[$x0+($xmin)*($ex)],$y0,$[$x0+($xmax)*($ex)],$y0,0,$[-$ey*($ygd)],$[((-$marge+$y0)/$ey)/$ygd+$ycor],$colorg\
parallel $[$x0+($xmin)*($ex)],$y0,$[$x0+($xmax)*($ex)],$y0,0,$[$ey*($ygd)],$[(($ysize-$marge-$y0)/$ey)/$ygd+$ycor],$colorg\
linewidth 2
!if $xgd<1
repere=$repere\
parallel $[$x0+($xmin)*($ex)],$[$y0-($ymax)*($ey)],$[$x0+($xmin)*($ex)],$[$y0-($ymin)*$ey],$ex,0,$[$xmax-($xmin)+$xcor],$colorg
!endif
!if $ygd<1
repere=$repere\
parallel $[$x0+($xmin)*($ex)],$[$y0-($ymax)*($ey)],$[$x0+($xmax)*($ex)],$[$y0-($ymax)*$ey],0,$ey,$[$ymax-($ymin)+$ycor],$colorg
!endif
repere=$repere\
arrow 0,$y0,$xsize,$y0,20,$colora\
arrow $x0,$ysize,$x0,0,20,$colora\
parallel $[$x0+($xmin)*($ex)],$[$y0-3],$[$x0+($xmin)*($ex)],$[$y0+3],$ex,0,$[$xmax-($xmin)+$xcor],$colora\
parallel $[$x0+3],$[$y0-($ymax)*($ey)],$[$x0-3],$[$y0-($ymax)*$ey],0,$ey,$[$ymax-($ymin)+$ycor],$colora\
linewidth 1
slib_out=$x0,$y0\
$ex,$[-($ey)]\
$repere
!if url iswordof $slib_option or html iswordof $slib_option
slib_out=!line 3 to - 1 of $slib_out
insdraw_size1=$insdraw_size
insdraw_size=$xsize,$ysize
!insdraw $slib_out
slib_out=$ins_url
!if html iswordof $slib_option
slib_out=<img src="$ins_url" alt="" />
!else
slib_out=$slib_out,$insdraw_size
!endif
insdraw_size=$insdraw_size1
!endif