Keep track of tag position in SWF file. Added code to dump tag infos.

(by Paolo Cancedda)
This commit is contained in:
Jindra Petk
2012-01-02 10:02:51 +01:00
parent 5107213517
commit a32835dd2f
42 changed files with 841 additions and 150 deletions

View File

@@ -17,16 +17,33 @@
package com.jpexs.asdec;
import com.jpexs.asdec.action.Action;
import com.jpexs.asdec.tags.Tag;
import com.jpexs.asdec.types.*;
import com.jpexs.asdec.types.filters.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import com.jpexs.asdec.abc.NotSameException;
import com.jpexs.asdec.helpers.Helper;
import com.jpexs.asdec.tags.Tag;
import com.jpexs.asdec.types.BUTTONCONDACTION;
import com.jpexs.asdec.types.BUTTONRECORD;
import com.jpexs.asdec.types.CLIPACTIONRECORD;
import com.jpexs.asdec.types.CLIPACTIONS;
import com.jpexs.asdec.types.CLIPEVENTFLAGS;
import com.jpexs.asdec.types.CXFORMWITHALPHA;
import com.jpexs.asdec.types.MATRIX;
import com.jpexs.asdec.types.RECT;
import com.jpexs.asdec.types.RGBA;
import com.jpexs.asdec.types.filters.BEVELFILTER;
import com.jpexs.asdec.types.filters.BLURFILTER;
import com.jpexs.asdec.types.filters.COLORMATRIXFILTER;
import com.jpexs.asdec.types.filters.CONVOLUTIONFILTER;
import com.jpexs.asdec.types.filters.DROPSHADOWFILTER;
import com.jpexs.asdec.types.filters.FILTER;
import com.jpexs.asdec.types.filters.GLOWFILTER;
import com.jpexs.asdec.types.filters.GRADIENTBEVELFILTER;
import com.jpexs.asdec.types.filters.GRADIENTGLOWFILTER;
/**
* Class for writing data into SWF file
*
@@ -342,7 +359,12 @@ public class SWFOutputStream extends OutputStream {
*/
public void writeTags(List<Tag> tags) throws IOException {
for (Tag tag : tags) {
writeTag(tag);
//try {
writeTag(tag);
/*} catch (NotSameException nse) {
throw new RuntimeException("error in tag "+tag+" at pos "+Helper.formatHex((int)tag.getPos(), 8), nse);
}*/
//NotSameException must be processed in order to catch it elsewhere
}
}