チェンジセット 1490

差分発生行の前後
無視リスト:
コミット日時:
2008/10/02 21:51:32 (5 年前)
コミッタ:
gyuque
ログメッセージ:

split huge file

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • ruby/jsplash/trunk/client2/jsplash/player.js

    r1489 r1490  
    106106JSplash.$html = JSplash.$create.bind(JSplash, 'http://www.w3.org/1999/xhtml'); 
    107107 
    108 JSplash.load_swf = function(dat) { 
     108JSplash.load_swf = function(dat, next_file) { 
    109109        if (!JSplash.swfdata) 
     110        { 
    110111                JSplash.swfdata = dat; 
     112                if (next_file) { 
     113                        JSplash.$next(function(){ 
     114                                JSplash.require('./'+JSplash.LOAD_DIR+'/'+next_file); 
     115                        }); 
     116                        return; 
     117                } 
     118        } 
     119        else { 
     120                var tl = dat.taglist; 
     121                if (tl) { 
     122                        var dest = JSplash.swfdata.taglist; 
     123                        var len = tl.length; 
     124                        for (var i = 0;i < len;i++) { 
     125                                dest.push(tl[i]); 
     126                        } 
     127                } 
     128        } 
    111129         
    112130        JSplash.$next( JSplash.initPlayer ); 
  • ruby/jsplash/trunk/jextract.rb

    r1479 r1490  
    2020 
    2121        "L:#{vL},R:#{vR},T:#{vT},B:#{vB}" 
     22end 
     23 
     24def read_gradient(ls, tp) # 0=linear 
     25        mat_e = ls.elements['./matrix'] 
     26        glist = ls.elements['./gradientColors'].elements 
     27 
     28        stops = [] 
     29        rgbs = [] 
     30 
     31        glist.each {|gi| 
     32                stp = gi.attributes['position'] 
     33                stops << stp 
     34                rgbs  << "'#{make_rgb(gi.elements['./color/Color'].attributes)}'" 
     35        } 
     36 
     37        trans = mat_e.elements['./Transform'].attributes if mat_e 
     38        mov = nil 
     39        scl = nil 
     40        skw = nil 
     41        if trans 
     42                a = trans 
     43 
     44                mov = ",mov:[#{a['transX']},#{a['transY']}]" if a['transX'] 
     45                scl = ",scl:[#{a['scaleX']},#{a['scaleY']}]" if a['scaleX'] 
     46                skw = ",skw:[#{a['skewX']},#{a['skewY']}]"   if a['skewX'] 
     47        end 
     48 
     49        "{grad:#{tp+1},s:[#{stops.join(',')}],c:[#{rgbs.join(',')}]#{mov}#{scl}#{skw}}" 
    2250end 
    2351 
     
    2856                when 'Solid' 
    2957                        styles << "{rgb:'#{make_rgb(ch.elements['./color/Color'].attributes)}'}" 
     58                when 'LinearGradient' 
     59                        styles << read_gradient(ch, 0) 
    3060                end 
    3161        } 
     
    193223        def self.readDefineSprite(tg, nest, fi) 
    194224                lmap = Hash.new 
    195                 tl = parse_taglist(tg.elements['./tags'].elements, lmap, nest+1) 
     225                tl = parse_taglist(tg.elements['./tags'].elements, lmap, nest+1).join(",\n") 
    196226                lmap = (lmap.empty?) ? nil : ",label_map:#{dump_label_map(lmap)}" 
    197227 
     
    250280        } 
    251281 
    252         tags.join(",\n") 
     282        tags 
    253283end 
    254284 
     
    264294#---------------------------- 
    265295 
    266 in_swf = ARGV[0] 
     296in_swf  = ARGV[0] 
     297out_dir = ARGV[1] 
    267298if !in_swf 
    268299        puts "USAGE: ruby jconvert.rb [in.swf]" 
    269300        exit 
     301end 
     302 
     303if !out_dir 
     304        out_dir = "movie_temp_out" 
     305        Dir::mkdir(out_dir) if !File.exists?(out_dir) 
    270306end 
    271307 
     
    287323 
    288324lmap = Hash.new 
    289 puts "JSplash.load_swf( {" 
    290 puts " header: {frameRate: #{swf.frame_rate}, frames: #{swf.frames}, width: #{swf.width}, height: #{swf.height}}," 
    291 puts " taglist: [" 
    292 puts parse_taglist(tags.elements, lmap) 
    293 puts " ], label_map:#{dump_label_map(lmap)}\n} );" 
     325 
     326top_tags   = parse_taglist(tags.elements, lmap) 
     327split_file = (top_tags.length > 20000) 
     328 
     329out1 = "#{out_dir}/movie1.js" 
     330 
     331File.open(out1,'w'){|f1| 
     332        next_file = nil 
     333        tags_1 = top_tags.slice!(0, 20000) 
     334        if split_file 
     335                next_file = ", 'movie2.js'" 
     336        end 
     337 
     338        f1.puts "JSplash.load_swf( {" 
     339        f1.puts " header: {frameRate: #{swf.frame_rate}, frames: #{swf.frames}, width: #{swf.width}, height: #{swf.height}}," 
     340        f1.puts " taglist: [" 
     341        f1.puts tags_1.join(",\n") 
     342        f1.puts " ], label_map:#{dump_label_map(lmap)}\n}#{next_file} );" 
     343
     344 
     345if split_file 
     346        out2 = "#{out_dir}/movie2.js" 
     347        File.open(out2,'w'){|f2| 
     348                f2.puts "JSplash.load_swf( {" 
     349                f2.puts " taglist: [" 
     350                f2.puts top_tags.join(",\n") 
     351                f2.puts " ]} );" 
     352        } 
     353end