Subversion Repositories wimsdev

Rev

Rev 15544 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3633 bpr 1
!if $wims_read_parm!=slib_header
13588 bpr 2
  !goto proc
3633 bpr 3
!endif
4157 bpr 4
 
4349 bpr 5
slib_author=Bernadette, Perrin-Riou
15544 bpr 6
slib_example=[4,6,7,1],,,,html\
4171 bpr 7
[4,6,7,1],,,,url\
15544 bpr 8
[4,6,7,1],,,,html\
9
[[5,3,1],[a,b,c,d,e,f,g,h,i]],,,,html\
10
[4,6,7,1],,,,canvas\
11
[[4,2,1],[1,2,3,4,5,6,4]],,,,canvas
7692 bpr 12
 
15544 bpr 13
 
3633 bpr 14
!exit
15
 
16
:proc
15544 bpr 17
!reset slib_size slib_width slib_height slib_text
18
!distribute items $wims_read_parm into slib_partition,slib_size,slib_width,slib_height,slib_option
19
 
3633 bpr 20
!default slib_size=30
21
!default slib_width=0
22
!default slib_height=0
4157 bpr 23
!default slib_option=raw
3633 bpr 24
slib_w=$[ceil($slib_width/$slib_size)]
25
slib_h=$[ceil($slib_height/$slib_size)]
26
slib_partition=!declosing $slib_partition
15544 bpr 27
!if [ isin $slib_partition
28
  slib_text=!declosing $(slib_partition[2])
29
  slib_partition=!declosing $(slib_partition[1])
30
!endif
3633 bpr 31
slib_partition=!sort reverse numeric item $slib_partition
32
slib_K=!item 1 of $slib_partition
33
slib_K=$[$slib_K+2]
34
slib_s=!itemcnt $slib_partition
35
slib_M=$[$slib_s+2]
36
slib_y=$[$slib_s]
15544 bpr 37
slib_cnt=1
3633 bpr 38
slib_dessinpart=
39
!for slib_v=1 to $slib_s
13588 bpr 40
  slib_y=$[$slib_y-1]
41
  slib_z=!item $slib_v of $slib_partition
42
  !for slib_x = 1 to $slib_z
15544 bpr 43
    slib_dessinpart=$slib_dessinpart\
44
rectangle $slib_x,$slib_y,$[$slib_x+1],$[$slib_y+1], black
45
    !if $(slib_text[$slib_cnt])!=$empty
46
      slib_dessinpart=$slib_dessinpart\
47
text black, $[$slib_x+0.5],$[$slib_y+0.5], medium,$(slib_text[$slib_cnt])
48
    !endif
49
    !increase slib_cnt
13588 bpr 50
  !next
3633 bpr 51
!next
52
slib_K=$[max($slib_K,$slib_w)]
53
slib_M=$[max($slib_M,$slib_h)]
54
slib_dessin=xrange -1,$[$slib_K]\
55
yrange -1,$slib_M\
56
$slib_dessinpart
57
 
4157 bpr 58
slib_out=$slib_dessin
59
 
60
!if url iswordof $slib_option or html iswordof $slib_option
61
  insdraw_size=$[($slib_K)*$slib_size],$[($slib_M)*$slib_size]
62
  !insdraw $slib_out
63
  slib_out=$ins_url
13588 bpr 64
  !if html iswordof $slib_option
17173 bpr 65
    slib_out=<img src="$ins_url" alt="">
13588 bpr 66
  !else
67
    slib_out=$slib_out,$insdraw_size
68
  !endif
4157 bpr 69
!endif
15544 bpr 70
!if canvas iswordof $slib_option
71
  insdraw_size=$[($slib_K)*$slib_size],$[($slib_M)*$slib_size]
72
  slib_out=!exec canvasdraw size $insdraw_size\
73
  $slib_out
74
!endif