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