[transform-swf-updates] Status report for week ending June 11th
Brought to you by:
smackay
From: News on r. b. a. p. f. T. S. f. J. <tra...@li...> - 2010-06-14 06:55:53
|
Progress This Week: Released an alpha version. This is "work-in-progress" release albeit very stable and certainly good enough for developing code with. Currently, requested features are being implemented - hence the API changes, see below - and once those have been completed the release phase will move to beta which is still planned for the end of the month. API Changes: Added ShapeTag to support a common interface to all the different shapes in Flash: DefineShape, DefineShape2, DefineShape3, DefineShape4, DefineMorphShape, DefineMorphShape2. LineStyle was changed to LineStyle1 with LineStyle changed to an interface to allow ShapeTag to be created. The methods on the morph shapes for accessing the starting shape were renamed to match the ShapeTag interface. Added StaticTextTag to provide a common interface for accessing the objects that define static text: DefineText, DefineText2. Code Changes: Cleaned up most of the magic numbers. Refactored the constants in SWF (and renamed it to Constants). Most values were simply limitations on the file format rather than individual constraints on different types of data so the constants were condensed into UNSIGNED_SHORT_MAX, SIGNED_SHORT_MIN and SIGNED_SHORT_MAX and moved to the Coder class - which now contains constants covering most of the magic numbers founds in the library. Simplified CoderException to remove name attribute. The toString() method now returns the location as a hexadecimal number making it easy to find hte "offending" tag using Describe SWF. Decoders reporting unsupported fill styles or filters now report the location using the SWFDecoder method mark() which now returns the current location. Testing: Expanded the suite of real-world Flash files. When performing a decode - encode- re-decode cycle only 5 errors are detected out of 667 files. Planned For This Week: More code polishing to get ready for a beta release. Regards, Stuart -- Flagstone Software Ltd. |