1 50 51 package org.openlaszlo.iv.flash.api.sound; 52 53 import java.io.PrintStream ; 54 import org.openlaszlo.iv.flash.parser.*; 55 import org.openlaszlo.iv.flash.util.*; 56 import org.openlaszlo.iv.flash.api.*; 57 58 public class StartSound extends FlashObject { 59 60 protected FlashDef def; 61 protected SoundInfo soundInfo; 62 63 public StartSound() {} 64 65 public int getTag() { 66 return Tag.STARTSOUND; 67 } 68 69 public static StartSound parse( Parser p ) { 70 71 StartSound o = new StartSound(); 72 73 o.def = p.getDef( p.getUWord() ); 74 75 o.soundInfo = SoundInfo.parse( p ); 76 77 return o; 78 79 } 80 81 public static StartSound newStartSound( Sound def, SoundInfo soundInfo ) { 82 83 StartSound startSound = new StartSound(); 84 85 startSound.def = def; 86 startSound.soundInfo = soundInfo; 87 88 return startSound; 89 90 } 91 92 public void collectDeps( DepsCollector dc ) { 93 if( def != null ) dc.addDep(def); 94 } 95 96 public void write( FlashOutput fob ) { 97 98 fob.writeTag( getTag(), 2 + soundInfo.length() ); 99 100 fob.writeDefID( def ); 101 102 soundInfo.write( fob ); 103 } 104 105 public void printContent( PrintStream out, String indent ) { 106 out.println( indent+"StartSound:" ); 107 } 108 109 public boolean isConstant() { 110 return true; 111 } 112 113 protected FlashItem copyInto( FlashItem item, ScriptCopier copier ) { 114 super.copyInto( item, copier ); 115 ((StartSound)item).soundInfo = (SoundInfo) soundInfo.getCopy( copier ); 116 ((StartSound)item).def = copier.copy(def); 117 return item; 118 } 119 120 public FlashItem getCopy( ScriptCopier copier ) { 121 return copyInto( new StartSound(), copier ); 122 } 123 } 124 | Popular Tags |