Rev 8521 | Rev 14850 | 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,10,[[0,0],[8,8]],[[0,0],[1,1],[3,0],[0,5],[2,3]],black,grey,red,x,y\
200,200,10,[[0,0],[8,8]],[[0,0],[1,1],[2,1],[1,5],[4,3],[6,7]],black,grey,red,x,y,html
!exit
:proc
slib_input=$wims_read_parm
!distribute items $slib_input into slib_xsize,slib_ysize,slib_marge,slib_cadrage,slib_point,slib_colora,slib_colorg,slib_colorl,slib_legendex,slib_legendey,slib_option
!default slib_xsize=400
!default slib_ysize=400
!default slib_marge=20
!default slib_cadrage=[[0,0],[20,20]]
!default slib_colora=black
!default slib_colorl=black
!default slib_colorg=grey
!default slib_legendex=x
!default slib_legendey=y
slib_cadrage=!declosing $slib_cadrage
!distribute item $slib_cadrage into slib_X,slib_Y
slib_X=!declosing $slib_X
slib_Y=!declosing $slib_Y
!distribute item $slib_X into slib_xmin,slib_ymin
!distribute item $slib_Y into slib_xmax,slib_ymax
slib_ex=$[($slib_xsize-2*$slib_marge)/($slib_xmax-$slib_xmin)]
slib_ey=$[-($slib_ysize-2*$slib_marge)/($slib_ymax-$slib_ymin)]
slib_x0=$[$slib_marge]
slib_y0=$[$slib_ysize-$slib_marge]
slib_point=!declosing $slib_point
slib_out=$empty
slib_coordpt=$empty
slib_nb=!itemcnt $slib_point
!for slib_k=1 to $slib_nb
slib_coord=!item $slib_k of $slib_point
slib_coord=!declosing $slib_coord
!distribute item $slib_coord into slib_x,slib_y
slib_nbx=!charcnt $slib_x
slib_nby=!charcnt $slib_y
slib_nbx=$[$slib_nbx*8]
slib_nby=$[$slib_nby*8+4]
slib_y2=$[($slib_y-$slib_ymin)*$slib_ey]
slib_x2=$[($slib_x-$slib_xmin)*$slib_ex]
slib_coordpt=!append item $slib_x0+$slib_x2,$slib_y0+$slib_y2 to $slib_coordpt
slib_out=$slib_out\
dlines $slib_colorg,$slib_x0,$[$slib_y0+$slib_y2],$[$slib_x0+$slib_x2],$[$slib_y0+$slib_y2],$[$slib_x0+$slib_x2],$slib_y0\
text $slib_colora,$[$slib_x0-$slib_nby],$[$slib_y0+$slib_y2-5],medium,$slib_y\
text $slib_colora,$[$slib_x0+$slib_x2-$slib_nbx/2+4],$[$slib_y0+10],medium,$slib_x
!next slib_k
slib_dec=!charcnt $slib_legendex
slib_dec=$[$slib_dec*8+4]
slib_out=$slib_out\
linewidth 2\
arrow $slib_x0,$slib_y0,$slib_xsize,$slib_y0,20,$slib_colora\
arrow $slib_x0,$slib_y0,$slib_x0,0,20,$slib_colora\
polyline $slib_colorl,$slib_coordpt\
text $slib_colora,$[$slib_xsize-$slib_dec],$[$slib_ysize-$slib_marge-20],medium,$slib_legendex\
text $slib_colora,$[$slib_marge+15],10,medium,$slib_legendey
!if url iswordof $slib_option or html iswordof $slib_option
insdraw_size1=$insdraw_size
insdraw_size=$slib_xsize,$slib_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