Rev 8046 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | reyssat | 1 | #! /bin/sh |
2 | # |
||
3 | # Mandatary parms: $1=plot number. $2=session number. |
||
4 | # environment parms: ins_source. |
||
5 | # reserved words: ins_border (border size). |
||
6 | |||
7 | intermediate_format=gif |
||
8 | flydraw=$w_wims_home/other/bin/flydraw |
||
9 | |||
10 | CONVERT_DIS=2 |
||
11 | CONVERT_OPT="-quality 90 -dispose $CONVERT_DIS" |
||
12 | |||
13 | # default size |
||
14 | if [ -z "$w_insdraw_size" ]; then |
||
15 | w_insdraw_size=256,256 |
||
16 | fi |
||
17 | |||
18 | if [ "$w_anim_format" != "mng" ]; then |
||
19 | w_anim_format=gif |
||
20 | fi |
||
21 | |||
22 | if [ -z "$2" ]; then exit; fi |
||
23 | |||
24 | if [ ! -z "$w_insdraw_transparent" ]; then |
||
25 | draw_transp=transparent |
||
26 | convert_transp="-transparent $w_insdraw_transparent" |
||
27 | else |
||
28 | convert_transp= |
||
29 | fi |
||
30 | |||
31 | # png transparency is not compatible with browsers |
||
2052 | bpr | 32 | #if [ "$w_ins_format" = "png" ]; then |
33 | # convert_transp="-transparent '#000000'" |
||
34 | #fi |
||
14 | reyssat | 35 | |
36 | if [ -z "$w_ins_anim_loop" ]; then w_ins_anim_loop=0; fi |
||
37 | |||
38 | rm -f $2/insert$w_wims_inssub-$1.* 2>/dev/null |
||
39 | rm -f $2/insdraw.cmd 2>/dev/null |
||
40 | |||
41 | draw_content= |
||
42 | anim_list= |
||
43 | i=0 |
||
44 | while [ $i -lt $ins_anim_frames ]; do |
||
45 | draw_content="$draw_content |
||
46 | new $w_insdraw_size |
||
47 | animstep=$i |
||
48 | s=$i/$ins_anim_frames |
||
49 | wims_linecount 0 |
||
50 | $ins_source |
||
51 | output $2/insert$w_wims_inssub-$1-$i.$intermediate_format |
||
52 | " |
||
53 | anim_list="$anim_list $2/insert$w_wims_inssub-$1-$i.$intermediate_format" |
||
54 | i=`expr $i + 1` |
||
55 | done |
||
56 | |||
57 | if [ -z "$w_insdraw_filebase" ]; then |
||
58 | if [ "$trusted_module" = "yes" ]; then |
||
59 | flydraw_filebase="$module_dir/insdraw gifs" |
||
60 | else |
||
61 | flydraw_filebase="$module_dir gifs" |
||
62 | fi |
||
63 | else |
||
64 | if [ "$trusted_module" = "yes" ]; then |
||
65 | flydraw_filebase="$w_insdraw_filebase" |
||
66 | else |
||
67 | flydraw_filebase= |
||
68 | fi |
||
69 | for b in $w_insdraw_filebase |
||
70 | do |
||
71 | case $b in |
||
72 | modules/data/*) flydraw_filebase="$flydraw_filebase $b" |
||
73 | ;; |
||
3342 | bpr | 74 | datamodule/*) b_=`echo "$b" | sed "s!datamodule!modules/data!"` |
75 | flydraw_filebase="$flydraw_filebase $module_dir/images $b_" |
||
76 | ;; |
||
4779 | bpr | 77 | */log/classes/*) flydraw_filebase="$flydraw_filebase $b" |
78 | ;; |
||
79 | */getfile/oefimg*) flydraw_filebase="$flydraw_filebase $b" |
||
80 | ;; |
||
8046 | bpr | 81 | */getfile/click*) flydraw_filebase="$flydraw_filebase $b" |
82 | ;; |
||
8402 | bpr | 83 | wimshome/public_html*) b_=`echo "$b" | sed "s!wimshome/public_html/!!"` |
84 | flydraw_filebase="$b_ $flydraw_filebase" |
||
85 | ;; |
||
14 | reyssat | 86 | *) flydraw_filebase="$flydraw_filebase $module_dir/$b" |
87 | ;; |
||
88 | esac |
||
89 | done |
||
90 | flydraw_filebase="$flydraw_filebase gifs" |
||
91 | fi |
||
92 | export flydraw_filebase |
||
93 | |||
94 | $flydraw <<@ |
||
95 | $draw_content |
||
96 | @ |
||
97 | echo "$draw_content" >>$2/insdraw.cmd |
||
98 | |||
99 | alist= |
||
100 | for i in $anim_list |
||
101 | do |
||
102 | if [ -s $i ]; then alist="$alist $i"; fi |
||
103 | done |
||
104 | |||
105 | if [ $ins_anim_frames -lt 2 ]; then |
||
106 | if [ $w_ins_format = $intermediate_format ]; then |
||
107 | bin/ch..root mv $2/insert$w_wims_inssub-$1-0.$intermediate_format $2/insert$w_wims_inssub-$1.$w_ins_format |
||
108 | else |
||
109 | bin/ch..root convert $CONVERT_OPT $convert_transp -density $w_ins_density $2/insert$w_wims_inssub-$1-0.$intermediate_format $2/insert$w_wims_inssub-$1.$w_ins_format 2>$2/convert.err || bin/convert..switch $2/convert.err |
||
110 | fi |
||
111 | else |
||
112 | w_ins_format=$w_anim_format |
||
113 | if [ "$intermediate_format" = "gif" ] && [ "w_ins_format" = "gif" ]; then |
||
114 | whirlgif -disp prev -time $ins_anim_delay -loop $w_ins_anim_loop -o $2/insert$w_wims_inssub-$1.$w_ins_format $alist |
||
115 | else |
||
116 | bin/ch..root convert $CONVERT_OPT $convert_transp -delay $ins_anim_delay -loop $w_ins_anim_loop $alist $2/insert$w_wims_inssub-$1.$w_ins_format 2>$2/convert.err || bin/convert..switch $2/convert.err |
||
117 | fi |
||
118 | fi |
||
119 | |||
120 | # Remove zero-sized jpeg file, for otherwise netscape doesn't understand, |
||
121 | # and waits forever trying to interprete it. |
||
122 | if [ ! -s $2/insert$w_wims_inssub-$1.$w_ins_format ]; then rm -f $2/insert$w_wims_inssub-$1.$w_ins_format; fi |
||
123 |