Rev 15544 | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_author=Bernadette, Perrin-Riou
slib_example=[4,6,7,1],,,,html\
[4,6,7,1],,,,url\
[4,6,7,1],,,,html\
[[5,3,1],[a,b,c,d,e,f,g,h,i]],,,,html\
[4,6,7,1],,,,canvas\
[[4,2,1],[1,2,3,4,5,6,4]],,,,canvas
!exit
:proc
!reset slib_size slib_width slib_height slib_text
!distribute items $wims_read_parm into slib_partition,slib_size,slib_width,slib_height,slib_option
!default slib_size=30
!default slib_width=0
!default slib_height=0
!default slib_option=raw
slib_w=$[ceil($slib_width/$slib_size)]
slib_h=$[ceil($slib_height/$slib_size)]
slib_partition=!declosing $slib_partition
!if [ isin $slib_partition
slib_text=!declosing $(slib_partition[2])
slib_partition=!declosing $(slib_partition[1])
!endif
slib_partition=!sort reverse numeric item $slib_partition
slib_K=!item 1 of $slib_partition
slib_K=$[$slib_K+2]
slib_s=!itemcnt $slib_partition
slib_M=$[$slib_s+2]
slib_y=$[$slib_s]
slib_cnt=1
slib_dessinpart=
!for slib_v=1 to $slib_s
slib_y=$[$slib_y-1]
slib_z=!item $slib_v of $slib_partition
!for slib_x = 1 to $slib_z
slib_dessinpart=$slib_dessinpart\
rectangle $slib_x,$slib_y,$[$slib_x+1],$[$slib_y+1], black
!if $(slib_text[$slib_cnt])!=$empty
slib_dessinpart=$slib_dessinpart\
text black, $[$slib_x+0.5],$[$slib_y+0.5], medium,$(slib_text[$slib_cnt])
!endif
!increase slib_cnt
!next
!next
slib_K=$[max($slib_K,$slib_w)]
slib_M=$[max($slib_M,$slib_h)]
slib_dessin=xrange -1,$[$slib_K]\
yrange -1,$slib_M\
$slib_dessinpart
slib_out=$slib_dessin
!if url iswordof $slib_option or html iswordof $slib_option
insdraw_size=$[($slib_K)*$slib_size],$[($slib_M)*$slib_size]
!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
!endif
!if canvas iswordof $slib_option
insdraw_size=$[($slib_K)*$slib_size],$[($slib_M)*$slib_size]
slib_out=!exec canvasdraw size $insdraw_size\
$slib_out
!endif