From 8c7b52e6afbaf51bf663e16e5045927d7604c8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Thu, 3 Jan 2013 15:27:29 +0100 Subject: [PATCH] Tag Suffix for classes. New tags: PlaceObject,RemoveObjet --- trunk/src/com/jpexs/asdec/SWF.java | 4 +- trunk/src/com/jpexs/asdec/SWFInputStream.java | 68 ++++++++---- .../src/com/jpexs/asdec/SWFOutputStream.java | 34 ++++++ trunk/src/com/jpexs/asdec/action/TagNode.java | 4 +- .../com/jpexs/asdec/action/gui/MainFrame.java | 2 +- ...naryData.java => DefineBinaryDataTag.java} | 4 +- ...BitsJPEG2.java => DefineBitsJPEG2Tag.java} | 4 +- ...BitsJPEG3.java => DefineBitsJPEG3Tag.java} | 4 +- ...less2.java => DefineBitsLossless2Tag.java} | 4 +- ...ssless.java => DefineBitsLosslessTag.java} | 4 +- .../{DefineBits.java => DefineBitsTag.java} | 4 +- .../jpexs/asdec/tags/DefineButton2Tag.java | 2 + .../com/jpexs/asdec/tags/DefineButtonTag.java | 2 + .../{DefineFont3.java => DefineFont3Tag.java} | 4 +- .../{DefineFont4.java => DefineFont4Tag.java} | 4 +- ...ones.java => DefineFontAlignZonesTag.java} | 4 +- ...neFontName.java => DefineFontNameTag.java} | 4 +- ...ingGrid.java => DefineScalingGridTag.java} | 4 +- .../{DefineShape.java => DefineShapeTag.java} | 4 +- .../com/jpexs/asdec/tags/DefineSpriteTag.java | 2 + .../src/com/jpexs/asdec/tags/DoActionTag.java | 1 + .../com/jpexs/asdec/tags/DoInitActionTag.java | 2 + ...Attributes.java => FileAttributesTag.java} | 4 +- .../{FrameLabel.java => FrameLabelTag.java} | 4 +- .../{JPEGTables.java => JPEGTablesTag.java} | 4 +- .../tags/{Metadata.java => MetadataTag.java} | 4 +- .../com/jpexs/asdec/tags/PlaceObject2Tag.java | 1 + .../com/jpexs/asdec/tags/PlaceObject3Tag.java | 1 + .../com/jpexs/asdec/tags/PlaceObjectTag.java | 102 ++++++++++++++++++ .../{ProductInfo.java => ProductInfoTag.java} | 4 +- ...moveObject2.java => RemoveObject2Tag.java} | 4 +- .../com/jpexs/asdec/tags/RemoveObjectTag.java | 84 +++++++++++++++ ...ScriptLimits.java => ScriptLimitsTag.java} | 4 +- ...dColor.java => SetBackgroundColorTag.java} | 4 +- trunk/src/com/jpexs/asdec/tags/StubTag.java | 75 +++++++++++++ .../{SymbolClass.java => SymbolClassTag.java} | 4 +- .../asdec/tags/{ => base}/ASMSource.java | 2 +- .../asdec/tags/{ => base}/Container.java | 2 +- .../jpexs/asdec/tags/{ => base}/TagName.java | 2 +- .../jpexs/asdec/types/BUTTONCONDACTION.java | 2 +- .../jpexs/asdec/types/CLIPACTIONRECORD.java | 2 +- trunk/src/com/jpexs/asdec/types/CXFORM.java | 64 +++++++++++ 42 files changed, 469 insertions(+), 73 deletions(-) rename trunk/src/com/jpexs/asdec/tags/{DefineBinaryData.java => DefineBinaryDataTag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{DefineBitsJPEG2.java => DefineBitsJPEG2Tag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{DefineBitsJPEG3.java => DefineBitsJPEG3Tag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{DefineBitsLossless2.java => DefineBitsLossless2Tag.java} (84%) rename trunk/src/com/jpexs/asdec/tags/{DefineBitsLossless.java => DefineBitsLosslessTag.java} (85%) rename trunk/src/com/jpexs/asdec/tags/{DefineBits.java => DefineBitsTag.java} (87%) rename trunk/src/com/jpexs/asdec/tags/{DefineFont3.java => DefineFont3Tag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{DefineFont4.java => DefineFont4Tag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{DefineFontAlignZones.java => DefineFontAlignZonesTag.java} (85%) rename trunk/src/com/jpexs/asdec/tags/{DefineFontName.java => DefineFontNameTag.java} (87%) rename trunk/src/com/jpexs/asdec/tags/{DefineScalingGrid.java => DefineScalingGridTag.java} (87%) rename trunk/src/com/jpexs/asdec/tags/{DefineShape.java => DefineShapeTag.java} (85%) rename trunk/src/com/jpexs/asdec/tags/{FileAttributes.java => FileAttributesTag.java} (89%) rename trunk/src/com/jpexs/asdec/tags/{FrameLabel.java => FrameLabelTag.java} (87%) rename trunk/src/com/jpexs/asdec/tags/{JPEGTables.java => JPEGTablesTag.java} (86%) rename trunk/src/com/jpexs/asdec/tags/{Metadata.java => MetadataTag.java} (89%) create mode 100644 trunk/src/com/jpexs/asdec/tags/PlaceObjectTag.java rename trunk/src/com/jpexs/asdec/tags/{ProductInfo.java => ProductInfoTag.java} (90%) rename trunk/src/com/jpexs/asdec/tags/{RemoveObject2.java => RemoveObject2Tag.java} (86%) create mode 100644 trunk/src/com/jpexs/asdec/tags/RemoveObjectTag.java rename trunk/src/com/jpexs/asdec/tags/{ScriptLimits.java => ScriptLimitsTag.java} (87%) rename trunk/src/com/jpexs/asdec/tags/{SetBackgroundColor.java => SetBackgroundColorTag.java} (88%) create mode 100644 trunk/src/com/jpexs/asdec/tags/StubTag.java rename trunk/src/com/jpexs/asdec/tags/{SymbolClass.java => SymbolClassTag.java} (89%) rename trunk/src/com/jpexs/asdec/tags/{ => base}/ASMSource.java (94%) rename trunk/src/com/jpexs/asdec/tags/{ => base}/Container.java (93%) rename trunk/src/com/jpexs/asdec/tags/{ => base}/TagName.java (92%) create mode 100644 trunk/src/com/jpexs/asdec/types/CXFORM.java diff --git a/trunk/src/com/jpexs/asdec/SWF.java b/trunk/src/com/jpexs/asdec/SWF.java index 007ff01cc..c63c93a88 100644 --- a/trunk/src/com/jpexs/asdec/SWF.java +++ b/trunk/src/com/jpexs/asdec/SWF.java @@ -19,10 +19,10 @@ package com.jpexs.asdec; import SevenZip.Compression.LZMA.Encoder; import com.jpexs.asdec.action.TagNode; import com.jpexs.asdec.helpers.Highlighting; -import com.jpexs.asdec.tags.ASMSource; +import com.jpexs.asdec.tags.base.ASMSource; import com.jpexs.asdec.tags.DoABCTag; import com.jpexs.asdec.tags.Tag; -import com.jpexs.asdec.tags.TagName; +import com.jpexs.asdec.tags.base.TagName; import com.jpexs.asdec.types.RECT; import java.io.*; import java.util.ArrayList; diff --git a/trunk/src/com/jpexs/asdec/SWFInputStream.java b/trunk/src/com/jpexs/asdec/SWFInputStream.java index 706c3e803..b7d167272 100644 --- a/trunk/src/com/jpexs/asdec/SWFInputStream.java +++ b/trunk/src/com/jpexs/asdec/SWFInputStream.java @@ -516,40 +516,40 @@ public class SWFInputStream extends InputStream { ret = new DefineButton2Tag(data, version, pos); break; case 69: - ret = new FileAttributes(data, version, pos); + ret = new FileAttributesTag(data, version, pos); break; case 77: - ret = new Metadata(data, pos); + ret = new MetadataTag(data, pos); break; case 65: - ret = new ScriptLimits(data, version, pos); + ret = new ScriptLimitsTag(data, version, pos); break; case 9: - ret = new SetBackgroundColor(data, pos); + ret = new SetBackgroundColorTag(data, pos); break; case 41: - ret = new ProductInfo(data, version, pos); + ret = new ProductInfoTag(data, version, pos); break; case 43: - ret = new FrameLabel(data, version, pos); + ret = new FrameLabelTag(data, version, pos); break; case 36: - ret = new DefineBitsLossless2(data, version, pos); + ret = new DefineBitsLossless2Tag(data, version, pos); break; case 76: - ret = new SymbolClass(data, version, pos); + ret = new SymbolClassTag(data, version, pos); break; case 32: ret = new DefineShape3(data, version, pos); break; case 28: - ret = new RemoveObject2(data, version, pos); + ret = new RemoveObject2Tag(data, version, pos); break; case 78: - ret = new DefineScalingGrid(data, version, pos); + ret = new DefineScalingGridTag(data, version, pos); break; case 2: - ret = new DefineShape(data, version, pos); + ret = new DefineShapeTag(data, version, pos); break; case 22: ret = new DefineShape2(data, version, pos); @@ -558,34 +558,34 @@ public class SWFInputStream extends InputStream { ret = new DefineShape4(data, version, pos); break; case 20: - ret = new DefineBitsLossless(data, version, pos); + ret = new DefineBitsLosslessTag(data, version, pos); break; case 35: - ret = new DefineBitsJPEG3(data, version, pos); + ret = new DefineBitsJPEG3Tag(data, version, pos); break; case 87: - ret = new DefineBinaryData(data, version, pos); + ret = new DefineBinaryDataTag(data, version, pos); break; case 8: - ret = new JPEGTables(data, pos); + ret = new JPEGTablesTag(data, pos); break; case 6: - ret = new DefineBits(data, version, pos); + ret = new DefineBitsTag(data, version, pos); break; case 21: - ret = new DefineBitsJPEG2(data, version, pos); + ret = new DefineBitsJPEG2Tag(data, version, pos); break; case 75: - ret = new DefineFont3(data, version, pos); + ret = new DefineFont3Tag(data, version, pos); break; case 73: - ret = new DefineFontAlignZones(data, version, pos); + ret = new DefineFontAlignZonesTag(data, version, pos); break; case 88: - ret = new DefineFontName(data, version, pos); + ret = new DefineFontNameTag(data, version, pos); break; case 91: - ret = new DefineFont4(data, version, pos); + ret = new DefineFont4Tag(data, version, pos); break; default: ret = new Tag(tagID, data, pos); @@ -884,6 +884,32 @@ public class SWFInputStream extends InputStream { alignByte(); return ret; } + + /** + * Reads one CXFORM value from the stream + * + * @return CXFORM value + * @throws IOException + */ + public CXFORM readCXFORM() throws IOException { + CXFORM ret = new CXFORM(); + ret.hasAddTerms = readUB(1) == 1; + ret.hasMultTerms = readUB(1) == 1; + int Nbits = (int) readUB(4); + ret.nbits = Nbits; + if (ret.hasMultTerms) { + ret.redMultTerm = (int) readSB(Nbits); + ret.greenMultTerm = (int) readSB(Nbits); + ret.blueMultTerm = (int) readSB(Nbits); + } + if (ret.hasAddTerms) { + ret.redAddTerm = (int) readSB(Nbits); + ret.greenAddTerm = (int) readSB(Nbits); + ret.blueAddTerm = (int) readSB(Nbits); + } + alignByte(); + return ret; + } /** * Reads one CLIPEVENTFLAGS value from the stream diff --git a/trunk/src/com/jpexs/asdec/SWFOutputStream.java b/trunk/src/com/jpexs/asdec/SWFOutputStream.java index 13ff36703..e0b4865ed 100644 --- a/trunk/src/com/jpexs/asdec/SWFOutputStream.java +++ b/trunk/src/com/jpexs/asdec/SWFOutputStream.java @@ -504,6 +504,40 @@ public class SWFOutputStream extends OutputStream { } + /** + * Writes CXFORM value to the stream + * + * @param value CXFORM value + * @throws IOException + */ + public void writeCXFORM(CXFORM value) throws IOException { + writeUB(1, value.hasAddTerms ? 1 : 0); + writeUB(1, value.hasMultTerms ? 1 : 0); + int Nbits = 1; + if (value.hasMultTerms) { + Nbits = enlargeBitCountS(Nbits, value.redMultTerm); + Nbits = enlargeBitCountS(Nbits, value.greenMultTerm); + Nbits = enlargeBitCountS(Nbits, value.blueMultTerm); + } + if (value.hasAddTerms) { + Nbits = enlargeBitCountS(Nbits, value.redAddTerm); + Nbits = enlargeBitCountS(Nbits, value.greenAddTerm); + Nbits = enlargeBitCountS(Nbits, value.blueAddTerm); + } + writeUB(4, Nbits); + if (value.hasMultTerms) { + writeSB(Nbits, value.redMultTerm); + writeSB(Nbits, value.greenMultTerm); + writeSB(Nbits, value.blueMultTerm); + } + if (value.hasAddTerms) { + writeSB(Nbits, value.redAddTerm); + writeSB(Nbits, value.greenAddTerm); + writeSB(Nbits, value.blueAddTerm); + } + alignByte(); + } + /** * Writes CXFORMWITHALPHA value to the stream * diff --git a/trunk/src/com/jpexs/asdec/action/TagNode.java b/trunk/src/com/jpexs/asdec/action/TagNode.java index 228c45908..34ccc8479 100644 --- a/trunk/src/com/jpexs/asdec/action/TagNode.java +++ b/trunk/src/com/jpexs/asdec/action/TagNode.java @@ -16,8 +16,8 @@ */ package com.jpexs.asdec.action; -import com.jpexs.asdec.tags.ASMSource; -import com.jpexs.asdec.tags.Container; +import com.jpexs.asdec.tags.base.ASMSource; +import com.jpexs.asdec.tags.base.Container; import com.jpexs.asdec.tags.DefineButton2Tag; import com.jpexs.asdec.tags.DefineButtonTag; import com.jpexs.asdec.tags.DefineSpriteTag; diff --git a/trunk/src/com/jpexs/asdec/action/gui/MainFrame.java b/trunk/src/com/jpexs/asdec/action/gui/MainFrame.java index 23840fd1f..d45e31fba 100644 --- a/trunk/src/com/jpexs/asdec/action/gui/MainFrame.java +++ b/trunk/src/com/jpexs/asdec/action/gui/MainFrame.java @@ -25,7 +25,7 @@ import com.jpexs.asdec.action.parser.ParseException; import com.jpexs.asdec.gui.LoadingPanel; import com.jpexs.asdec.gui.View; import com.jpexs.asdec.helpers.Highlighting; -import com.jpexs.asdec.tags.ASMSource; +import com.jpexs.asdec.tags.base.ASMSource; import com.jpexs.asdec.tags.Tag; import java.awt.BorderLayout; import java.awt.Container; diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBinaryData.java b/trunk/src/com/jpexs/asdec/tags/DefineBinaryDataTag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/DefineBinaryData.java rename to trunk/src/com/jpexs/asdec/tags/DefineBinaryDataTag.java index fe168d823..dbb43ff47 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBinaryData.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBinaryDataTag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineBinaryData extends Tag { +public class DefineBinaryDataTag extends Tag { - public DefineBinaryData(byte[] data, int version, long pos) { + public DefineBinaryDataTag(byte[] data, int version, long pos) { super(87, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2.java b/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2Tag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2.java rename to trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2Tag.java index f170797cc..d3fe9dcb8 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG2Tag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineBitsJPEG2 extends Tag { +public class DefineBitsJPEG2Tag extends Tag { - public DefineBitsJPEG2(byte[] data, int version, long pos) { + public DefineBitsJPEG2Tag(byte[] data, int version, long pos) { super(21, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3.java b/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3Tag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3.java rename to trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3Tag.java index 603ed4001..5dce6b58c 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBitsJPEG3Tag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineBitsJPEG3 extends Tag { +public class DefineBitsJPEG3Tag extends Tag { - public DefineBitsJPEG3(byte[] data, int version, long pos) { + public DefineBitsJPEG3Tag(byte[] data, int version, long pos) { super(35, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2.java b/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2Tag.java similarity index 84% rename from trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2.java rename to trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2Tag.java index 88d770eb8..6cc53c478 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless2Tag.java @@ -18,9 +18,9 @@ package com.jpexs.asdec.tags; import java.io.IOException; -public class DefineBitsLossless2 extends Tag { +public class DefineBitsLossless2Tag extends Tag { - public DefineBitsLossless2(byte[] data, int version, long pos) throws IOException { + public DefineBitsLossless2Tag(byte[] data, int version, long pos) throws IOException { super(36, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless.java b/trunk/src/com/jpexs/asdec/tags/DefineBitsLosslessTag.java similarity index 85% rename from trunk/src/com/jpexs/asdec/tags/DefineBitsLossless.java rename to trunk/src/com/jpexs/asdec/tags/DefineBitsLosslessTag.java index b42a738c3..38e100f53 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBitsLossless.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBitsLosslessTag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineBitsLossless extends Tag { +public class DefineBitsLosslessTag extends Tag { - public DefineBitsLossless(byte[] data, int version, long pos) { + public DefineBitsLosslessTag(byte[] data, int version, long pos) { super(20, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineBits.java b/trunk/src/com/jpexs/asdec/tags/DefineBitsTag.java similarity index 87% rename from trunk/src/com/jpexs/asdec/tags/DefineBits.java rename to trunk/src/com/jpexs/asdec/tags/DefineBitsTag.java index 71395a3f0..e2284feec 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineBits.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineBitsTag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineBits extends Tag { +public class DefineBitsTag extends Tag { - public DefineBits(byte[] data, int version, long pos) { + public DefineBitsTag(byte[] data, int version, long pos) { super(6, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineButton2Tag.java b/trunk/src/com/jpexs/asdec/tags/DefineButton2Tag.java index b6fd979e5..c9ac3afdd 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineButton2Tag.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineButton2Tag.java @@ -16,6 +16,8 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.TagName; +import com.jpexs.asdec.tags.base.Container; import com.jpexs.asdec.Main; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/DefineButtonTag.java b/trunk/src/com/jpexs/asdec/tags/DefineButtonTag.java index 5897a756c..7542649ca 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineButtonTag.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineButtonTag.java @@ -16,6 +16,8 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.TagName; +import com.jpexs.asdec.tags.base.ASMSource; import com.jpexs.asdec.Main; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/DefineFont3.java b/trunk/src/com/jpexs/asdec/tags/DefineFont3Tag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/DefineFont3.java rename to trunk/src/com/jpexs/asdec/tags/DefineFont3Tag.java index 6e35d14b5..063759f97 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineFont3.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineFont3Tag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineFont3 extends Tag { +public class DefineFont3Tag extends Tag { - public DefineFont3(byte[] data, int version, long pos) { + public DefineFont3Tag(byte[] data, int version, long pos) { super(75, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineFont4.java b/trunk/src/com/jpexs/asdec/tags/DefineFont4Tag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/DefineFont4.java rename to trunk/src/com/jpexs/asdec/tags/DefineFont4Tag.java index 904c5c8b4..b898ccc78 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineFont4.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineFont4Tag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineFont4 extends Tag { +public class DefineFont4Tag extends Tag { - public DefineFont4(byte[] data, int version, long pos) { + public DefineFont4Tag(byte[] data, int version, long pos) { super(91, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineFontAlignZones.java b/trunk/src/com/jpexs/asdec/tags/DefineFontAlignZonesTag.java similarity index 85% rename from trunk/src/com/jpexs/asdec/tags/DefineFontAlignZones.java rename to trunk/src/com/jpexs/asdec/tags/DefineFontAlignZonesTag.java index 3bfd155cd..d152d579e 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineFontAlignZones.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineFontAlignZonesTag.java @@ -16,9 +16,9 @@ */ package com.jpexs.asdec.tags; -public class DefineFontAlignZones extends Tag { +public class DefineFontAlignZonesTag extends Tag { - public DefineFontAlignZones(byte[] data, int version, long pos) { + public DefineFontAlignZonesTag(byte[] data, int version, long pos) { super(73, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineFontName.java b/trunk/src/com/jpexs/asdec/tags/DefineFontNameTag.java similarity index 87% rename from trunk/src/com/jpexs/asdec/tags/DefineFontName.java rename to trunk/src/com/jpexs/asdec/tags/DefineFontNameTag.java index bfed708c8..88ff7a988 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineFontName.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineFontNameTag.java @@ -20,13 +20,13 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class DefineFontName extends Tag { +public class DefineFontNameTag extends Tag { private int fontId; private String fontName; private String fontCopyright; - public DefineFontName(byte[] data, int version, long pos) throws IOException { + public DefineFontNameTag(byte[] data, int version, long pos) throws IOException { super(88, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); fontId = sis.readUI16(); diff --git a/trunk/src/com/jpexs/asdec/tags/DefineScalingGrid.java b/trunk/src/com/jpexs/asdec/tags/DefineScalingGridTag.java similarity index 87% rename from trunk/src/com/jpexs/asdec/tags/DefineScalingGrid.java rename to trunk/src/com/jpexs/asdec/tags/DefineScalingGridTag.java index 49e3436f0..bd8cd6ee1 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineScalingGrid.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineScalingGridTag.java @@ -21,12 +21,12 @@ import com.jpexs.asdec.types.RECT; import java.io.ByteArrayInputStream; import java.io.IOException; -public class DefineScalingGrid extends Tag { +public class DefineScalingGridTag extends Tag { private int characterId; private RECT splitter; - public DefineScalingGrid(byte[] data, int version, long pos) throws IOException { + public DefineScalingGridTag(byte[] data, int version, long pos) throws IOException { super(78, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); characterId = sis.readUI16(); diff --git a/trunk/src/com/jpexs/asdec/tags/DefineShape.java b/trunk/src/com/jpexs/asdec/tags/DefineShapeTag.java similarity index 85% rename from trunk/src/com/jpexs/asdec/tags/DefineShape.java rename to trunk/src/com/jpexs/asdec/tags/DefineShapeTag.java index 541c3cf50..24e361bbb 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineShape.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineShapeTag.java @@ -18,9 +18,9 @@ package com.jpexs.asdec.tags; import java.io.IOException; -public class DefineShape extends Tag { +public class DefineShapeTag extends Tag { - public DefineShape(byte[] data, int version, long pos) throws IOException { + public DefineShapeTag(byte[] data, int version, long pos) throws IOException { super(2, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/DefineSpriteTag.java b/trunk/src/com/jpexs/asdec/tags/DefineSpriteTag.java index ceb66340b..be3cb0c92 100644 --- a/trunk/src/com/jpexs/asdec/tags/DefineSpriteTag.java +++ b/trunk/src/com/jpexs/asdec/tags/DefineSpriteTag.java @@ -16,6 +16,8 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.TagName; +import com.jpexs.asdec.tags.base.Container; import com.jpexs.asdec.Main; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/DoActionTag.java b/trunk/src/com/jpexs/asdec/tags/DoActionTag.java index e390c3e79..1e0697b23 100644 --- a/trunk/src/com/jpexs/asdec/tags/DoActionTag.java +++ b/trunk/src/com/jpexs/asdec/tags/DoActionTag.java @@ -16,6 +16,7 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.ASMSource; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.action.Action; import java.io.ByteArrayInputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/DoInitActionTag.java b/trunk/src/com/jpexs/asdec/tags/DoInitActionTag.java index 72b4b8072..a960b61f4 100644 --- a/trunk/src/com/jpexs/asdec/tags/DoInitActionTag.java +++ b/trunk/src/com/jpexs/asdec/tags/DoInitActionTag.java @@ -16,6 +16,8 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.TagName; +import com.jpexs.asdec.tags.base.ASMSource; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; import com.jpexs.asdec.action.Action; diff --git a/trunk/src/com/jpexs/asdec/tags/FileAttributes.java b/trunk/src/com/jpexs/asdec/tags/FileAttributesTag.java similarity index 89% rename from trunk/src/com/jpexs/asdec/tags/FileAttributes.java rename to trunk/src/com/jpexs/asdec/tags/FileAttributesTag.java index 3fad26bdf..a166f137b 100644 --- a/trunk/src/com/jpexs/asdec/tags/FileAttributes.java +++ b/trunk/src/com/jpexs/asdec/tags/FileAttributesTag.java @@ -20,7 +20,7 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class FileAttributes extends Tag { +public class FileAttributesTag extends Tag { private boolean useDirectBlit; private boolean useGPU; @@ -28,7 +28,7 @@ public class FileAttributes extends Tag { private boolean actionScript3; private boolean useNetwork; - public FileAttributes(byte[] data, int version, long pos) throws IOException { + public FileAttributesTag(byte[] data, int version, long pos) throws IOException { super(69, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); sis.readUB(1); // reserved diff --git a/trunk/src/com/jpexs/asdec/tags/FrameLabel.java b/trunk/src/com/jpexs/asdec/tags/FrameLabelTag.java similarity index 87% rename from trunk/src/com/jpexs/asdec/tags/FrameLabel.java rename to trunk/src/com/jpexs/asdec/tags/FrameLabelTag.java index 095d1b18e..af7c8fdb3 100644 --- a/trunk/src/com/jpexs/asdec/tags/FrameLabel.java +++ b/trunk/src/com/jpexs/asdec/tags/FrameLabelTag.java @@ -20,11 +20,11 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class FrameLabel extends Tag { +public class FrameLabelTag extends Tag { private String name; - public FrameLabel(byte[] data, int version, long pos) throws IOException { + public FrameLabelTag(byte[] data, int version, long pos) throws IOException { super(43, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); name = sis.readString(); diff --git a/trunk/src/com/jpexs/asdec/tags/JPEGTables.java b/trunk/src/com/jpexs/asdec/tags/JPEGTablesTag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/JPEGTables.java rename to trunk/src/com/jpexs/asdec/tags/JPEGTablesTag.java index f21bc1827..e4bbd5dd2 100644 --- a/trunk/src/com/jpexs/asdec/tags/JPEGTables.java +++ b/trunk/src/com/jpexs/asdec/tags/JPEGTablesTag.java @@ -18,9 +18,9 @@ package com.jpexs.asdec.tags; import java.io.IOException; -public class JPEGTables extends Tag { +public class JPEGTablesTag extends Tag { - public JPEGTables(byte[] data, long pos) throws IOException { + public JPEGTablesTag(byte[] data, long pos) throws IOException { super(8, data, pos); // TODO Auto-generated constructor stub } diff --git a/trunk/src/com/jpexs/asdec/tags/Metadata.java b/trunk/src/com/jpexs/asdec/tags/MetadataTag.java similarity index 89% rename from trunk/src/com/jpexs/asdec/tags/Metadata.java rename to trunk/src/com/jpexs/asdec/tags/MetadataTag.java index 35b10ec70..b13aa98da 100644 --- a/trunk/src/com/jpexs/asdec/tags/Metadata.java +++ b/trunk/src/com/jpexs/asdec/tags/MetadataTag.java @@ -18,11 +18,11 @@ package com.jpexs.asdec.tags; import java.io.UnsupportedEncodingException; -public class Metadata extends Tag { +public class MetadataTag extends Tag { private String xmlMetadata; - public Metadata(byte[] data, long pos) { + public MetadataTag(byte[] data, long pos) { super(77, data, pos); try { xmlMetadata = new String(data, "UTF-8"); diff --git a/trunk/src/com/jpexs/asdec/tags/PlaceObject2Tag.java b/trunk/src/com/jpexs/asdec/tags/PlaceObject2Tag.java index b78da76e0..0582d82e9 100644 --- a/trunk/src/com/jpexs/asdec/tags/PlaceObject2Tag.java +++ b/trunk/src/com/jpexs/asdec/tags/PlaceObject2Tag.java @@ -16,6 +16,7 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.Container; import com.jpexs.asdec.Main; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/PlaceObject3Tag.java b/trunk/src/com/jpexs/asdec/tags/PlaceObject3Tag.java index 5ee84ff37..0be6a3870 100644 --- a/trunk/src/com/jpexs/asdec/tags/PlaceObject3Tag.java +++ b/trunk/src/com/jpexs/asdec/tags/PlaceObject3Tag.java @@ -16,6 +16,7 @@ */ package com.jpexs.asdec.tags; +import com.jpexs.asdec.tags.base.Container; import com.jpexs.asdec.Main; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.SWFOutputStream; diff --git a/trunk/src/com/jpexs/asdec/tags/PlaceObjectTag.java b/trunk/src/com/jpexs/asdec/tags/PlaceObjectTag.java new file mode 100644 index 000000000..1d91ec46d --- /dev/null +++ b/trunk/src/com/jpexs/asdec/tags/PlaceObjectTag.java @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2010-2011 JPEXS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.jpexs.asdec.tags; + +import com.jpexs.asdec.SWFInputStream; +import com.jpexs.asdec.SWFOutputStream; +import com.jpexs.asdec.types.CXFORM; +import com.jpexs.asdec.types.MATRIX; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + * Extends the functionality of the PlaceObject2Tag + * + * @author JPEXS + */ +public class PlaceObjectTag extends Tag { + + /** + * ID of character to place + */ + public int characterId; + /** + * Depth of character + */ + public int depth; + /** + * Transform matrix data + */ + public MATRIX matrix; + /** + * Color transform data + */ + public CXFORM colorTransform; + + /** + * Gets data bytes + * + * @param version SWF version + * @return Bytes of data + */ + @Override + public byte[] getData(int version) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + OutputStream os = baos; + SWFOutputStream sos = new SWFOutputStream(os, version); + try { + sos.writeUI16(characterId); + sos.writeUI16(depth); + sos.writeMatrix(matrix); + if (colorTransform != null) { + sos.writeCXFORM(colorTransform); + } + } catch (IOException e) { + } + return baos.toByteArray(); + } + + /** + * Constructor + * + * @param data Data bytes + * @param version SWF version + * @throws IOException + */ + public PlaceObjectTag(byte data[], int version, long pos) throws IOException { + super(4, data, pos); + SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); + characterId = sis.readUI16(); + depth = sis.readUI16(); + matrix = sis.readMatrix(); + if (sis.available() > 0) { + colorTransform = sis.readCXFORM(); + } + } + + /** + * Returns string representation of the object + * + * @return String representation of the object + */ + @Override + public String toString() { + return "PlaceObjectTag"; + } +} diff --git a/trunk/src/com/jpexs/asdec/tags/ProductInfo.java b/trunk/src/com/jpexs/asdec/tags/ProductInfoTag.java similarity index 90% rename from trunk/src/com/jpexs/asdec/tags/ProductInfo.java rename to trunk/src/com/jpexs/asdec/tags/ProductInfoTag.java index 266cb7a57..ccc7e012a 100644 --- a/trunk/src/com/jpexs/asdec/tags/ProductInfo.java +++ b/trunk/src/com/jpexs/asdec/tags/ProductInfoTag.java @@ -20,7 +20,7 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class ProductInfo extends Tag { +public class ProductInfoTag extends Tag { private long productID; private long edition; @@ -30,7 +30,7 @@ public class ProductInfo extends Tag { private long buildHigh; private long compilationDate; - public ProductInfo(byte[] data, int version, long pos) throws IOException { + public ProductInfoTag(byte[] data, int version, long pos) throws IOException { super(41, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); /* diff --git a/trunk/src/com/jpexs/asdec/tags/RemoveObject2.java b/trunk/src/com/jpexs/asdec/tags/RemoveObject2Tag.java similarity index 86% rename from trunk/src/com/jpexs/asdec/tags/RemoveObject2.java rename to trunk/src/com/jpexs/asdec/tags/RemoveObject2Tag.java index 807d2f742..fa7113676 100644 --- a/trunk/src/com/jpexs/asdec/tags/RemoveObject2.java +++ b/trunk/src/com/jpexs/asdec/tags/RemoveObject2Tag.java @@ -20,11 +20,11 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class RemoveObject2 extends Tag { +public class RemoveObject2Tag extends Tag { private int depth; - public RemoveObject2(byte[] data, int version, long pos) throws IOException { + public RemoveObject2Tag(byte[] data, int version, long pos) throws IOException { super(28, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); depth = sis.readUI16(); diff --git a/trunk/src/com/jpexs/asdec/tags/RemoveObjectTag.java b/trunk/src/com/jpexs/asdec/tags/RemoveObjectTag.java new file mode 100644 index 000000000..0e12b53de --- /dev/null +++ b/trunk/src/com/jpexs/asdec/tags/RemoveObjectTag.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2010-2011 JPEXS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.jpexs.asdec.tags; + +import com.jpexs.asdec.SWFInputStream; +import com.jpexs.asdec.SWFOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + * Extends the functionality of the PlaceObject2Tag + * + * @author JPEXS + */ +public class RemoveObjectTag extends Tag { + + /** + * ID of character to place + */ + public int characterId; + /** + * Depth of character + */ + public int depth; + + /** + * Gets data bytes + * + * @param version SWF version + * @return Bytes of data + */ + @Override + public byte[] getData(int version) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + OutputStream os = baos; + SWFOutputStream sos = new SWFOutputStream(os, version); + try { + sos.writeUI16(characterId); + sos.writeUI16(depth); + } catch (IOException e) { + } + return baos.toByteArray(); + } + + /** + * Constructor + * + * @param data Data bytes + * @param version SWF version + * @throws IOException + */ + public RemoveObjectTag(byte data[], int version, long pos) throws IOException { + super(5, data, pos); + SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); + characterId = sis.readUI16(); + depth = sis.readUI16(); + } + + /** + * Returns string representation of the object + * + * @return String representation of the object + */ + @Override + public String toString() { + return "RemoveObjectTag"; + } +} diff --git a/trunk/src/com/jpexs/asdec/tags/ScriptLimits.java b/trunk/src/com/jpexs/asdec/tags/ScriptLimitsTag.java similarity index 87% rename from trunk/src/com/jpexs/asdec/tags/ScriptLimits.java rename to trunk/src/com/jpexs/asdec/tags/ScriptLimitsTag.java index 64ddbdcc3..f4484fba1 100644 --- a/trunk/src/com/jpexs/asdec/tags/ScriptLimits.java +++ b/trunk/src/com/jpexs/asdec/tags/ScriptLimitsTag.java @@ -20,12 +20,12 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class ScriptLimits extends Tag { +public class ScriptLimitsTag extends Tag { private int maxRecursionDepth; private int scriptTimeoutSeconds; - public ScriptLimits(byte[] data, int version, long pos) throws IOException { + public ScriptLimitsTag(byte[] data, int version, long pos) throws IOException { super(65, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); maxRecursionDepth = sis.readUI16(); diff --git a/trunk/src/com/jpexs/asdec/tags/SetBackgroundColor.java b/trunk/src/com/jpexs/asdec/tags/SetBackgroundColorTag.java similarity index 88% rename from trunk/src/com/jpexs/asdec/tags/SetBackgroundColor.java rename to trunk/src/com/jpexs/asdec/tags/SetBackgroundColorTag.java index 84c7d8ee7..ea9f23191 100644 --- a/trunk/src/com/jpexs/asdec/tags/SetBackgroundColor.java +++ b/trunk/src/com/jpexs/asdec/tags/SetBackgroundColorTag.java @@ -18,11 +18,11 @@ package com.jpexs.asdec.tags; import com.jpexs.asdec.types.RGB; -public class SetBackgroundColor extends Tag { +public class SetBackgroundColorTag extends Tag { private RGB backgroundColor; - public SetBackgroundColor(byte[] data, long pos) { + public SetBackgroundColorTag(byte[] data, long pos) { super(9, data, pos); backgroundColor = new RGB(); backgroundColor.red = data[0] & 0xff; diff --git a/trunk/src/com/jpexs/asdec/tags/StubTag.java b/trunk/src/com/jpexs/asdec/tags/StubTag.java new file mode 100644 index 000000000..e0a017290 --- /dev/null +++ b/trunk/src/com/jpexs/asdec/tags/StubTag.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2010-2011 JPEXS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.jpexs.asdec.tags; + +import com.jpexs.asdec.SWFInputStream; +import com.jpexs.asdec.SWFOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * Extends the functionality of the PlaceObject2Tag + * + * @author JPEXS + */ +public class StubTag extends Tag { + + /** + * Gets data bytes + * + * @param version SWF version + * @return Bytes of data + */ + @Override + public byte[] getData(int version) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + OutputStream os = baos; + SWFOutputStream sos = new SWFOutputStream(os, version); + /*try { + //sos.write + } catch (IOException e) { + }*/ + return baos.toByteArray(); + } + + /** + * Constructor + * + * @param data Data bytes + * @param version SWF version + * @throws IOException + */ + public StubTag(byte data[], int version, long pos) throws IOException { + super(0, data, pos); + SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); + + } + + /** + * Returns string representation of the object + * + * @return String representation of the object + */ + @Override + public String toString() { + return "PlaceObjectTag"; + } +} diff --git a/trunk/src/com/jpexs/asdec/tags/SymbolClass.java b/trunk/src/com/jpexs/asdec/tags/SymbolClassTag.java similarity index 89% rename from trunk/src/com/jpexs/asdec/tags/SymbolClass.java rename to trunk/src/com/jpexs/asdec/tags/SymbolClassTag.java index 4e78ba7a1..391c04b36 100644 --- a/trunk/src/com/jpexs/asdec/tags/SymbolClass.java +++ b/trunk/src/com/jpexs/asdec/tags/SymbolClassTag.java @@ -20,12 +20,12 @@ import com.jpexs.asdec.SWFInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; -public class SymbolClass extends Tag { +public class SymbolClassTag extends Tag { private int tagIDs[]; private String classNames[]; - public SymbolClass(byte[] data, int version, long pos) throws IOException { + public SymbolClassTag(byte[] data, int version, long pos) throws IOException { super(76, data, pos); SWFInputStream sis = new SWFInputStream(new ByteArrayInputStream(data), version); int numSymbols = sis.readUI16(); diff --git a/trunk/src/com/jpexs/asdec/tags/ASMSource.java b/trunk/src/com/jpexs/asdec/tags/base/ASMSource.java similarity index 94% rename from trunk/src/com/jpexs/asdec/tags/ASMSource.java rename to trunk/src/com/jpexs/asdec/tags/base/ASMSource.java index abc2dd284..0f51429f9 100644 --- a/trunk/src/com/jpexs/asdec/tags/ASMSource.java +++ b/trunk/src/com/jpexs/asdec/tags/base/ASMSource.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.jpexs.asdec.tags; +package com.jpexs.asdec.tags.base; import com.jpexs.asdec.action.Action; import java.util.List; diff --git a/trunk/src/com/jpexs/asdec/tags/Container.java b/trunk/src/com/jpexs/asdec/tags/base/Container.java similarity index 93% rename from trunk/src/com/jpexs/asdec/tags/Container.java rename to trunk/src/com/jpexs/asdec/tags/base/Container.java index 634357581..9323e8021 100644 --- a/trunk/src/com/jpexs/asdec/tags/Container.java +++ b/trunk/src/com/jpexs/asdec/tags/base/Container.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.jpexs.asdec.tags; +package com.jpexs.asdec.tags.base; import java.util.List; diff --git a/trunk/src/com/jpexs/asdec/tags/TagName.java b/trunk/src/com/jpexs/asdec/tags/base/TagName.java similarity index 92% rename from trunk/src/com/jpexs/asdec/tags/TagName.java rename to trunk/src/com/jpexs/asdec/tags/base/TagName.java index f767edbd3..b5d8d68ce 100644 --- a/trunk/src/com/jpexs/asdec/tags/TagName.java +++ b/trunk/src/com/jpexs/asdec/tags/base/TagName.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.jpexs.asdec.tags; +package com.jpexs.asdec.tags.base; /** * diff --git a/trunk/src/com/jpexs/asdec/types/BUTTONCONDACTION.java b/trunk/src/com/jpexs/asdec/types/BUTTONCONDACTION.java index 8b3900555..62b8abd9b 100644 --- a/trunk/src/com/jpexs/asdec/types/BUTTONCONDACTION.java +++ b/trunk/src/com/jpexs/asdec/types/BUTTONCONDACTION.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.types; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.action.Action; -import com.jpexs.asdec.tags.ASMSource; +import com.jpexs.asdec.tags.base.ASMSource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayList; diff --git a/trunk/src/com/jpexs/asdec/types/CLIPACTIONRECORD.java b/trunk/src/com/jpexs/asdec/types/CLIPACTIONRECORD.java index 19e92ae83..1a1eaeeae 100644 --- a/trunk/src/com/jpexs/asdec/types/CLIPACTIONRECORD.java +++ b/trunk/src/com/jpexs/asdec/types/CLIPACTIONRECORD.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.types; import com.jpexs.asdec.SWFInputStream; import com.jpexs.asdec.action.Action; -import com.jpexs.asdec.tags.ASMSource; +import com.jpexs.asdec.tags.base.ASMSource; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayList; diff --git a/trunk/src/com/jpexs/asdec/types/CXFORM.java b/trunk/src/com/jpexs/asdec/types/CXFORM.java new file mode 100644 index 000000000..f1320daa7 --- /dev/null +++ b/trunk/src/com/jpexs/asdec/types/CXFORM.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2010-2011 JPEXS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.jpexs.asdec.types; + +/** + * Defines a transform that can be applied to the color space of a graphic + * object. + * + * @author JPEXS + */ +public class CXFORM { + + /** + * Has color addition values + */ + public boolean hasAddTerms; + /** + * Has color multiply values + */ + public boolean hasMultTerms; + + public int nbits; + + /** + * Red multiply value + */ + public int redMultTerm; + /** + * Green multiply value + */ + public int greenMultTerm; + /** + * Blue multiply value + */ + public int blueMultTerm; + + /** + * Red addition value + */ + public int redAddTerm; + /** + * Green addition value + */ + public int greenAddTerm; + /** + * Blue addition value + */ + public int blueAddTerm; + +}