Rev 11042 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
10989 | bpr | 1 | !if $wims_read_parm!=slib_header |
13594 | bpr | 2 | !goto proc |
10989 | bpr | 3 | !endif |
4 | slib_title=Square tile |
||
5 | slib_author=Bernadette, Perrin-Riou |
||
6 | slib_example=[0,0,2,4;2,2,4,10],[300,300],[blue,green],html\ |
||
7 | [0,0,2,4;2,2,4,10],[,300],[blue,green],html\ |
||
8 | [0,0,2,4;2,2,4,5;-1,-1,1,2],[300,],[black,violet],html\ |
||
9 | [0,0;0,1;0,2;0,3;1,2],,[blue,green],html\ |
||
10 | [0,0;0,2;0,3;1,1;2,2;3,3],,,html\ |
||
11 | [0,0;0,2;0,3;1,1;2,2;3,3],,[blue],html\ |
||
12 | [0,0;0,2;0,3;1,1,t2;2,2;3,3,t1],,[blue],html\ |
||
13 | [0,0;0,2;0,3;1,1,t1;2,2;3,3,t2],,[blue],html\ |
||
14 | [0,0,2,4;2,2,4,5;-1,-1,1,2;2,7,t1;3,7,t2;4,7,t3;5,7,t4],[300,300],[black,violet],html\ |
||
15 | |||
16 | !exit |
||
17 | |||
18 | :proc |
||
19 | !reset slib_out slib_data slib_color slib_sizex slib_sizey |
||
20 | !distribute items $wims_read_parm into slib_d,slib_size, slib_color,slib_option |
||
21 | slib_size=!declosing $slib_size |
||
22 | !if $slib_size=$empty |
||
23 | slib_size=200 |
||
24 | !endif |
||
25 | !distribute items $slib_size into slib_sizex,slib_sizey |
||
26 | !distribute items -1000,-1000,1000,1000 into slib_maxx,slib_maxy,slib_minx,slib_miny |
||
27 | slib_d=!declosing $slib_d |
||
28 | slib_d=!rows2lines $slib_d |
||
29 | slib_dcnt=!linecnt $slib_d |
||
30 | slib_d=!lines2rows $slib_d |
||
31 | slib_color=!declosing $slib_color |
||
32 | !default slib_color=red |
||
33 | |||
34 | slib_cnt=0 |
||
35 | !reset slib_list |
||
36 | !for slib_n = 1 to $slib_dcnt |
||
13594 | bpr | 37 | slib_square=$(slib_d[$slib_n;]) |
38 | slib_square=!nospace $slib_square |
||
39 | !if $(slib_square[4])!=$empty |
||
40 | !for slib_i=0 to $(slib_square[3])-1 |
||
41 | !for slib_j = 0 to $(slib_square[4])-1 |
||
42 | slib_rect=$[$(slib_square[1])+$slib_i],$[$(slib_square[2])+$slib_j],$[$(slib_square[1])+$slib_i+1],$[$(slib_square[2])+$slib_j+1] |
||
43 | !if $(slib_color[2])!=$empty |
||
44 | slib_out=!append line frectangle $slib_rect,$(slib_color[2]) to $slib_out |
||
45 | !endif |
||
46 | slib_out=!append line rectangle $slib_rect,$(slib_color[1]) to $slib_out |
||
47 | !next |
||
48 | !next |
||
49 | slib_maxx=$[max($(slib_square[1])+$(slib_square[3])+1,$slib_maxx)] |
||
50 | slib_maxy=$[max($(slib_square[2])+$(slib_square[4])+1,$slib_maxy)] |
||
51 | slib_minx=$[min($(slib_square[1]),$slib_minx)] |
||
52 | slib_miny=$[min($(slib_square[2]),$slib_miny)] |
||
53 | !else |
||
54 | !if $(slib_square[3])!=$empty |
||
55 | !if $(slib_square[3])=t2 |
||
56 | slib_tmp=$[$(slib_square[1])],$[$(slib_square[2])],$[$(slib_square[1])+1],$[$(slib_square[2])],$[$(slib_square[1])+1],$[$(slib_square[2])+1] |
||
57 | !endif |
||
58 | !if $(slib_square[3])=t1 |
||
59 | slib_tmp=$[$(slib_square[1])],$[$(slib_square[2])],$[$(slib_square[1])],$[$(slib_square[2])+1],$[$(slib_square[1])+1],$[$(slib_square[2])+1] |
||
60 | !endif |
||
61 | !if $(slib_square[3])=t3 |
||
62 | slib_tmp=$[$(slib_square[1])],$[$(slib_square[2])],$[$(slib_square[1])+1],$[$(slib_square[2])],$[$(slib_square[1])],$[$(slib_square[2])+1] |
||
63 | !endif |
||
64 | !if $(slib_square[3])=t4 |
||
65 | slib_tmp=$[$(slib_square[1])+1],$[$(slib_square[2])],$[$(slib_square[1])+1],$[$(slib_square[2])+1],$[$(slib_square[1])],$[$(slib_square[2])+1] |
||
66 | !endif |
||
67 | !if $(slib_color[2])!=$empty |
||
68 | slib_out=!append line ftriangle $slib_tmp,$(slib_color[2]) \ |
||
10989 | bpr | 69 | to $slib_out |
13594 | bpr | 70 | !endif |
71 | slib_out=!append line triangle $slib_tmp,$(slib_color[1]) \ |
||
10989 | bpr | 72 | to $slib_out |
13594 | bpr | 73 | !else |
74 | slib_rect=$[$(slib_square[1])],$[$(slib_square[2])],$[$(slib_square[1])+1],$[$(slib_square[2])+1] |
||
75 | !if $(slib_color[2])!=$empty |
||
76 | slib_out=!append line frectangle $slib_rect,$(slib_color[2]) \ |
||
10989 | bpr | 77 | to $slib_out |
13594 | bpr | 78 | !endif |
79 | slib_out=!append line rectangle $slib_rect,$(slib_color[1]) to $slib_out |
||
80 | !endif |
||
81 | slib_maxx=$[max($(slib_square[1])+1,$slib_maxx)] |
||
82 | slib_maxy=$[max($(slib_square[2])+1,$slib_maxy)] |
||
83 | slib_minx=$[min($(slib_square[1]),$slib_minx)] |
||
84 | slib_miny=$[min($(slib_square[2]),$slib_miny)] |
||
85 | !endif |
||
10989 | bpr | 86 | !next |
87 | !if $slib_sizey=$empty |
||
88 | slib_sizey=$[round($slib_sizex*(2+$slib_maxy-($slib_miny))/(2+$slib_maxx-($slib_minx)))] |
||
89 | !else |
||
90 | !if $slib_sizex=$empty |
||
91 | slib_sizex=$[round($slib_sizey*(2+$slib_maxx-($slib_minx))/(2+$slib_maxy-($slib_miny)))] |
||
92 | !endif |
||
93 | !endif |
||
94 | |||
95 | slib_out=xrange $slib_minx-1,$slib_maxx+1\ |
||
96 | yrange $slib_miny-1,$slib_maxy+1\ |
||
97 | $slib_out |
||
98 | |||
99 | !if url iswordof $slib_option or html iswordof $slib_option |
||
100 | insdraw_size=$slib_sizex,$slib_sizey |
||
101 | !insdraw $slib_out |
||
102 | slib_out=$ins_url |
||
103 | !if html iswordof $slib_option |
||
104 | slib_out=<img src="$ins_url" alt="" /> |
||
13594 | bpr | 105 | !else |
10989 | bpr | 106 | slib_out=$slib_out,$insdraw_size |
13594 | bpr | 107 | !endif |
10989 | bpr | 108 | !endif |