Rev 16835 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 4124 | bpr | 1 | !if $wims_read_parm!=slib_header |
| 13582 | bpr | 2 | !goto proc |
| 4124 | bpr | 3 | !endif |
| 4158 | bpr | 4 | |
| 4349 | bpr | 5 | slib_author=Paul, Byache; Bernadette, Perrin-Riou |
| 4124 | bpr | 6 | |
| 16835 | bpr | 7 | slib_example=[1000,200,50,A],[B],,,html\ |
| 8 | [1000,200,50,A],[B],,,html canvasdraw\ |
||
| 4157 | bpr | 9 | [1000,200,50,A],[B]\ |
| 4124 | bpr | 10 | [1000,200,50,A],[B],,,url\ |
| 4157 | bpr | 11 | [1000,200,50,A],[B],6,yellow,html one\ |
| 4175 | bpr | 12 | [1000,200,50,A],[B],-6,,html |
| 4124 | bpr | 13 | |
| 14 | !exit |
||
| 15 | |||
| 16 | :proc |
||
| 4157 | bpr | 17 | !reset slib_left slib_right slib_left1 slib_right1 slib_objet_left slib_objet_right slib_option |
| 4124 | bpr | 18 | |
| 19 | !distribute items $wims_read_parm into slib_left1,slib_right1,slib_penche,slib_color,slib_option |
||
| 20 | slib_left1=!declosing $slib_left1 |
||
| 21 | slib_right1=!declosing $slib_right1 |
||
| 22 | |||
| 23 | !for slib_u in $slib_left1 |
||
| 16835 | bpr | 24 | !if $slib_u iswordof 1000 500 200 100 50 20 10 5 2 1 |
| 25 | slib_left = !append item $slib_u to $slib_left |
||
| 26 | !else |
||
| 27 | slib_objet_left=!append item $slib_u to $slib_objet_left |
||
| 28 | !endif |
||
| 4124 | bpr | 29 | !next |
| 30 | !for slib_u in $slib_right1 |
||
| 16835 | bpr | 31 | !if $slib_u iswordof 1000 500 200 100 50 20 10 5 2 1 |
| 32 | slib_right = !append item $slib_u to $slib_right |
||
| 33 | !else |
||
| 34 | slib_objet_right=!append item $slib_u to $slib_objet_right |
||
| 35 | !endif |
||
| 4124 | bpr | 36 | !next |
| 4157 | bpr | 37 | slib_color=!append item $slib_color to $slib_color |
| 38 | slib_color=!nonempty items $slib_color |
||
| 39 | !default slib_color=!shuffle orange,purple,red,yellow |
||
| 4124 | bpr | 40 | negatif -> right plus bas |
| 41 | !!slib_penche=-7 |
||
| 42 | !default slib_penche=0 |
||
| 43 | slib_agr=1.8 |
||
| 44 | slib_par=!randint -20,20 |
||
| 45 | slib_width1000=12 |
||
| 46 | slib_height1000=35 |
||
| 47 | slib_poids1000=frectangle 0,0,$(slib_width1000),$(slib_height1000),white\ |
||
| 16835 | bpr | 48 | frectangle 0,0,$(slib_width1000),$(slib_height1000),lightgrey\ |
| 4124 | bpr | 49 | rectangle 0,0,$(slib_width1000),$(slib_height1000),black\ |
| 50 | fcircle $[$(slib_width1000)/2],$[$slib_height1000+2],15,black\ |
||
| 51 | text black,2,28,medium,1kg |
||
| 52 | |||
| 53 | slib_width500=11 |
||
| 54 | slib_height500=25 |
||
| 55 | slib_poids500=frectangle 0,0,$(slib_width500),$(slib_height500),white\ |
||
| 16835 | bpr | 56 | frectangle 0,0,$(slib_width500),$(slib_height500),lightgrey\ |
| 4124 | bpr | 57 | rectangle 0,0,$(slib_width500),$(slib_height500),black\ |
| 58 | fcircle $[$(slib_width500)/2],$[$slib_height500+2],15,black\ |
||
| 59 | text black,1,18,medium,500g |
||
| 60 | |||
| 61 | slib_width200=10 |
||
| 62 | slib_height200=20 |
||
| 63 | slib_poids200=frectangle 0,0,$(slib_width200),$(slib_height200),white\ |
||
| 16835 | bpr | 64 | frectangle 0,0,$(slib_width200),$(slib_height200),lightgrey\ |
| 4124 | bpr | 65 | rectangle 0,0,$(slib_width200),$(slib_height200),black\ |
| 66 | fcircle $[$(slib_width200)/2],$[$slib_height200+2],15,black\ |
||
| 67 | text black,1,14,medium,200g |
||
| 68 | |||
| 69 | slib_width100=9 |
||
| 70 | slib_height100=15 |
||
| 71 | slib_poids100=frectangle 0,0,$(slib_width100),$(slib_height100),white\ |
||
| 16835 | bpr | 72 | frectangle 0,0,$(slib_width100),$(slib_height100),lightgrey\ |
| 4124 | bpr | 73 | rectangle 0,0,$(slib_width100),$(slib_height100),black\ |
| 74 | fcircle $[$(slib_width100)/2],$[$slib_height100+1],10,black\ |
||
| 75 | text black,1,9,medium,100g |
||
| 76 | |||
| 77 | slib_width50=8 |
||
| 78 | slib_height50=12 |
||
| 79 | slib_poids50=frectangle 0,0,$(slib_width50),$(slib_height50),white\ |
||
| 16835 | bpr | 80 | frectangle 0,0,$(slib_width50),$(slib_height50),lightgrey\ |
| 4124 | bpr | 81 | rectangle 0,0,$(slib_width50),$(slib_height50),black\ |
| 82 | fcircle $[$(slib_width50)/2],$[$slib_height50+1],10,black\ |
||
| 83 | text black,1,$[$(slib_height50)/2+1],medium,50g |
||
| 84 | |||
| 85 | slib_width20=7 |
||
| 86 | slib_height20=10 |
||
| 87 | slib_poids20=frectangle 0,0,$(slib_width20),$(slib_height20),white\ |
||
| 16835 | bpr | 88 | frectangle 0,0,$(slib_width20),$(slib_height20),lightgrey\ |
| 4124 | bpr | 89 | rectangle 0,0,$(slib_width20),$(slib_height20),black\ |
| 90 | fcircle $[$(slib_width20)/2],$[$slib_height20+1],10,black\ |
||
| 91 | text black,1,$[$(slib_height20)/2+1],medium,20g |
||
| 92 | |||
| 93 | slib_width10=6 |
||
| 94 | slib_height10=7 |
||
| 95 | slib_poids10=frectangle 0,0,$(slib_width10),$(slib_height10),white\ |
||
| 16835 | bpr | 96 | frectangle 0,0,$(slib_width10),$(slib_height10),lightgrey\ |
| 4124 | bpr | 97 | rectangle 0,0,$(slib_width10),$(slib_height10),black\ |
| 98 | fcircle $[$(slib_width10)/2],$[$slib_height10+1],10,black\ |
||
| 99 | text black,0,$[$slib_height10/2+1],medium,10g |
||
| 100 | |||
| 101 | slib_width5=5 |
||
| 102 | slib_height5=5 |
||
| 103 | slib_poids5=frectangle 0,0,$(slib_width5),$(slib_height5),white\ |
||
| 16835 | bpr | 104 | frectangle 0,0,$(slib_width5),$(slib_height5),lightgrey\ |
| 4124 | bpr | 105 | rectangle 0,0,$(slib_width5),$(slib_height5),black\ |
| 106 | fcircle $[$(slib_width5)/2],$[$slib_height5+1],7,7,black\ |
||
| 107 | text black,1,$[$(slib_height5)],medium,5g |
||
| 108 | |||
| 109 | slib_width2=4 |
||
| 110 | slib_height2=3 |
||
| 111 | slib_poids2=frectangle 0,0,$(slib_width2),$(slib_height2),white\ |
||
| 16835 | bpr | 112 | frectangle 0,0,$(slib_width2),$(slib_height2),lightgrey\ |
| 4124 | bpr | 113 | rectangle 0,0,$(slib_width2),$(slib_height2),black\ |
| 114 | fcircle $[$(slib_width2)/2],$[$slib_height2+1],5,black\ |
||
| 115 | text black,1,$[$(slib_height2)],medium,2g |
||
| 116 | |||
| 117 | slib_width1=2 |
||
| 118 | slib_height1=2 |
||
| 119 | slib_poids1=rectangle 0,0,$(slib_width1),$(slib_height1),white\ |
||
| 16835 | bpr | 120 | frectangle 0,0,$(slib_width1),$(slib_height1),lightgrey\ |
| 4124 | bpr | 121 | rectangle 0,0,$(slib_width1),$(slib_height1),black\ |
| 9888 | bpr | 122 | fill 1,1,lightgrey\ |
| 4124 | bpr | 123 | fcircle $[$(slib_width1)/2],$[$slib_height1+1],5,black\ |
| 124 | text black,1,$[$(slib_height1)],medium,1g |
||
| 125 | |||
| 126 | slib_tmp=!randint 10, 20 |
||
| 127 | |||
| 4157 | bpr | 128 | slib_form_g=!nosubst ftriangle 0,$[$slib_h],5,$[$slib_h+10],10,$[$slib_h],$(slib_color[1])\ |
| 4175 | bpr | 129 | frectangle 2.5,$[$slib_h],5,$[$slib_h+5],$(slib_color[1])\ |
| 130 | fcircle 5,$[$slib_h],50,$(slib_color[1]) |
||
| 7692 | bpr | 131 | |
| 4157 | bpr | 132 | slib_form_d=!nosubst ftriangle 0,$[$slib_h],5,$[$slib_h+10],10,$[$slib_h],$(slib_color[2])\ |
| 4175 | bpr | 133 | frectangle 2.5,$[$slib_h],5,$[$slib_h+5],$(slib_color[2])\ |
| 134 | fcircle 5,$[$slib_h],50,$(slib_color[2]) |
||
| 4124 | bpr | 135 | |
| 136 | slib_t=0 |
||
| 137 | !reset slib_g |
||
| 138 | !if $slib_objet_left!=$empty |
||
| 14850 | bpr | 139 | slib_ord=!sort numeric item $slib_left |
| 140 | !for slib_u in $slib_objet_left |
||
| 13582 | bpr | 141 | !if one notwordof $slib_option |
| 142 | slib_h=$[max($(slib_height$(slib_ord[-1])) + 3,$slib_tmp)] |
||
| 143 | slib_form1=!randline $slib_form_g |
||
| 144 | !else |
||
| 145 | slib_h =$(slib_height500) |
||
| 146 | slib_form1= |
||
| 147 | !endif |
||
| 148 | slib_g=!append line translation XXX+$slib_t,20-$slib_penche\ |
||
| 4175 | bpr | 149 | frectangle 0,0,10,$[$slib_h],$(slib_color[1])\ |
| 150 | $slib_form1\ |
||
| 151 | text black,5,$[$slib_h/2],large,$slib_u\ |
||
| 152 | killtranslation to $slib_g |
||
| 13582 | bpr | 153 | slib_t=$[$slib_t+12] |
| 154 | !next |
||
| 4124 | bpr | 155 | !endif |
| 156 | |||
| 157 | !for slib_p in $slib_left |
||
| 9888 | bpr | 158 | slib_g=!append line translation XXX+$slib_t,$[20-$slib_penche]\ |
| 4124 | bpr | 159 | $(slib_poids$slib_p)\ |
| 160 | killtranslation \ |
||
| 161 | to $slib_g |
||
| 13582 | bpr | 162 | slib_t=$[$slib_t + $(slib_width$slib_p)-1] |
| 4124 | bpr | 163 | !next |
| 13582 | bpr | 164 | slib_g= !replace internal XXX by $[30-$slib_t/2] in $slib_g |
| 4124 | bpr | 165 | |
| 166 | slib_t=0 |
||
| 167 | !reset slib_d |
||
| 168 | !if $slib_objet_right!=$empty |
||
| 169 | slib_ord=!sort numeric item $slib_right |
||
| 170 | !for slib_u in $slib_objet_right |
||
| 16835 | bpr | 171 | !if one notwordof $slib_option |
| 172 | slib_h=$[max($(slib_height$(slib_ord[-1])) + 3,$slib_tmp)] |
||
| 173 | slib_form1=!randline $slib_form_d |
||
| 13582 | bpr | 174 | !else |
| 16835 | bpr | 175 | slib_h =$(slib_height500) |
| 176 | slib_form1= |
||
| 177 | !endif |
||
| 178 | slib_d=!append line translation XXX+$slib_t,$[20+$slib_penche]\ |
||
| 9888 | bpr | 179 | frectangle 0,0,10,$[$slib_h],$(slib_color[2])\ |
| 4175 | bpr | 180 | $slib_form1\ |
| 181 | text black, 5,$[$slib_h/2],large,$slib_u\ |
||
| 182 | killtranslation to $slib_d |
||
| 13582 | bpr | 183 | slib_t=$[$slib_t+12] |
| 184 | !next |
||
| 4124 | bpr | 185 | !endif |
| 186 | |||
| 187 | !for slib_p in $slib_right |
||
| 9888 | bpr | 188 | slib_d=!append line translation XXX+$slib_t,$[20+$slib_penche]\ |
| 4124 | bpr | 189 | $(slib_poids$slib_p)\ |
| 190 | killtranslation \ |
||
| 191 | to $slib_d |
||
| 13582 | bpr | 192 | slib_t=$[$slib_t + $(slib_width$slib_p) - 1] |
| 4124 | bpr | 193 | !next |
| 194 | slib_d= !replace internal XXX by $[110-$slib_t/2] in $slib_d |
||
| 195 | |||
| 9888 | bpr | 196 | slib_nuage=disk $[$slib_par+80],65,$[40*$slib_agr],white\ |
| 197 | disk $[$slib_par+85],72,$[30*$slib_agr],white\ |
||
| 198 | disk $[$slib_par+110],75,$[40*$slib_agr],white\ |
||
| 199 | disk $[$slib_par+120],65,$[40*$slib_agr],white\ |
||
| 200 | disk $[$slib_par+97],68,$[60*$slib_agr],white |
||
| 4124 | bpr | 201 | |
| 202 | slib_dessin=xrange 0,140\ |
||
| 203 | yrange -10,90\ |
||
| 204 | fill 0,0,skyblue\ |
||
| 8521 | bpr | 205 | polyline brown,5,0,30,0,35,5,105,5,110,0,135,0,120,15,20,15,5,0\ |
| 16835 | bpr | 206 | fill 20,10,blue\ |
| 4124 | bpr | 207 | $slib_nuage\ |
| 208 | linewidth 2\ |
||
| 209 | $slib_g\ |
||
| 210 | $slib_d\ |
||
| 211 | linewidth 2\ |
||
| 8580 | bpr | 212 | polyline black,5,$[25-$slib_penche],10,$[20-$slib_penche],50,$[20-$slib_penche],55,$[25-$slib_penche]\ |
| 213 | polyline black,85,$[25+$slib_penche],90,$[20+$slib_penche],130,$[20+$slib_penche],135,$[25+$slib_penche]\ |
||
| 4124 | bpr | 214 | linewidth 1\ |
| 215 | arc 70,7,24,18,0,180,black\ |
||
| 8584 | bpr | 216 | segment 58,7,82,7,black\ |
| 4124 | bpr | 217 | fill 75,10,white\ |
| 8580 | bpr | 218 | polyline black,30,$[20-$slib_penche],30,$[10-$slib_penche],110,$[10+$slib_penche],110,$[20+$slib_penche]\ |
| 219 | arrow 70,10,$[70-$slib_penche],22,$[12*$slib_agr],black\ |
||
| 220 | disk 30,$[10-$slib_penche],$[8*$slib_agr],black\ |
||
| 221 | disk 70,10,$[8*$slib_agr],black\ |
||
| 222 | disk 110,$[10+$slib_penche],$[8*$slib_agr],black\ |
||
| 8584 | bpr | 223 | segment 0,0,140,0,green\ |
| 8580 | bpr | 224 | fill 5,-5,green |
| 4124 | bpr | 225 | |
| 226 | slib_out=$slib_dessin |
||
| 4157 | bpr | 227 | !if url iswordof $slib_option or html iswordof $slib_option |
| 4124 | bpr | 228 | insdraw_size=700,300 |
| 16835 | bpr | 229 | !if canvasdraw isin $slib_option |
| 230 | slib_out=!exec canvasdraw\ |
||
| 231 | size $insdraw_size\ |
||
| 232 | $slib_dessin |
||
| 13582 | bpr | 233 | !else |
| 16835 | bpr | 234 | !insdraw $slib_out |
| 235 | slib_out=$ins_url |
||
| 236 | !if html iswordof $slib_option |
||
| 17173 | bpr | 237 | slib_out=<img src="$ins_url" alt=""> |
| 16835 | bpr | 238 | !else |
| 239 | slib_out=$slib_out,$insdraw_size |
||
| 240 | !endif |
||
| 13582 | bpr | 241 | !endif |
| 4157 | bpr | 242 | !endif |