Example #1
0
 private void parseHeader(Element headerElement) {
   if (RecordXMLReader.getBooleanAttribute("omitbinarydata", headerElement)) {
     throw new IllegalArgumentException(
         "XML files with omitbinarydata flag set cannot be transformed back to SWF!");
   }
   short swfVersion = RecordXMLReader.getShortAttribute("swfversion", headerElement);
   swfDocument.setVersion(swfVersion);
   swfDocument.setCompressed(RecordXMLReader.getBooleanAttribute("compressed", headerElement));
   Element framesElement = RecordXMLReader.getElement("frames", headerElement);
   swfDocument.setFrameCount(RecordXMLReader.getIntAttribute("count", framesElement));
   swfDocument.setFrameRate(RecordXMLReader.getShortAttribute("rate", framesElement));
   Element sizeElement = RecordXMLReader.getElement("size", framesElement);
   swfDocument.setFrameSize(RecordXMLReader.readRect(sizeElement));
   Element backgroundColorElement = RecordXMLReader.getElement("bgcolor", headerElement);
   swfDocument.setBackgroundColor(RecordXMLReader.readRGB(backgroundColorElement));
   if (swfVersion >= 8) {
     String access = RecordXMLReader.getStringAttribute("access", headerElement);
     if (access.equals("local")) {
       swfDocument.setAccessMode(SWFDocument.ACCESS_MODE_LOCAL);
     } else if (access.equals("network")) {
       swfDocument.setAccessMode(SWFDocument.ACCESS_MODE_NETWORK);
     }
     Element metadata = headerElement.element("metadata");
     if (metadata != null) {
       swfDocument.setMetadata(Base64.decodeString(metadata.getText()));
     }
   }
 }