コード例 #1
0
 public function parse($reader)
 {
     $this->_fields['CharacterId'] = $reader->getUI16LE();
     // CharacterId
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #2
0
ファイル: Viewer.class.php プロジェクト: nzw/FlashForward
 public function getHumanizedDefines()
 {
     $defines = array();
     foreach ($this->_tags as $tag) {
         if (isset($tag['CharacterId'])) {
             $defines[] = array('TagName' => Media_SWF_Tag::name($tag['Code']), 'Code' => $tag['Code'], 'CharacterId' => $tag['CharacterId'], 'Length' => $tag['Length']);
         }
     }
     return $defines;
 }
コード例 #3
0
 public function parse($reader)
 {
     $this->_fields['CharacterId'] = $reader->getUI16LE();
     $this->_fields['Bounds'] = $reader->getRect();
     $this->_fields['HasText'] = $reader->getUIBit();
     $this->_fields['WordWrap'] = $reader->getUIBit();
     $this->_fields['Multiline'] = $reader->getUIBit();
     $this->_fields['Password'] = $reader->getUIBit();
     $this->_fields['ReadOnly'] = $reader->getUIBit();
     $this->_fields['HasTextColor'] = $reader->getUIBit();
     $this->_fields['HasMaxLength'] = $reader->getUIBit();
     $this->_fields['HasFont'] = $reader->getUIBit();
     $this->_fields['HasFontClass'] = $reader->getUIBit();
     $this->_fields['AutoSize'] = $reader->getUIBit();
     $this->_fields['HasLayout'] = $reader->getUIBit();
     $this->_fields['NoSelect'] = $reader->getUIBit();
     $this->_fields['Border'] = $reader->getUIBit();
     $this->_fields['WasStatic'] = $reader->getUIBit();
     $this->_fields['HTML'] = $reader->getUIBit();
     $this->_fields['UseOutlines'] = $reader->getUIBit();
     if ($this->_fields['HasFont']) {
         $this->_fields['FontID'] = $reader->getUI16LE();
     }
     if ($this->_fields['HasFontClass']) {
         $this->_fields['FontClass'] = $reader->getString();
     }
     if ($this->_fields['HasFont']) {
         $this->_fields['FontHeight'] = $reader->getUI16LE();
     }
     if ($this->_fields['HasTextColor']) {
         $this->_fields['TextColor'] = $reader->getRGBA();
     }
     if ($this->_fields['HasMaxLength']) {
         $this->_fields['MaxLength'] = $reader->getUI16LE();
     }
     if ($this->_fields['HasLayout']) {
         $this->_fields['Align'] = $reader->getUI8();
         $this->_fields['LeftMargin'] = $reader->getUI16LE();
         $this->_fields['RightMargin'] = $reader->getUI16LE();
         $this->_fields['Indent'] = $reader->getUI16LE();
         $this->_fields['Leading'] = $reader->getSIBits(16);
     }
     $this->_fields['VariableName'] = $reader->getString();
     if ($this->_fields['HasText']) {
         $this->_fields['InitialText'] = $reader->getString();
     }
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #4
0
ファイル: DefineText.class.php プロジェクト: nzw/FlashForward
 public function parse($reader)
 {
     $this->_fields['CharacterId'] = $reader->getUI16LE();
     $this->_fields['TextBounds'] = $reader->getRect();
     $this->_fields['TextMatrix'] = $reader->getMatrix();
     $this->_fields['GlyphBits'] = $reader->getUI8();
     $this->_fields['AdvanceBits'] = $reader->getUI8();
     $this->_fields['TextRecords'] = array();
     while (true) {
         $textRecord = $this->getTextRecord($reader);
         if (!$textRecord) {
             break;
         }
         $this->_fields['TextRecords'][] = $textRecord;
     }
     $this->_fields['EndOfRecordsFlag'] = 0;
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #5
0
 public function parse($reader)
 {
     while (true) {
         $cl = $reader->getCodeAndLength();
         $class = "Media_SWF_Tag_" . Media_SWF_Tag::name($cl['Code']);
         if (!class_exists($class)) {
             $class = 'Media_SWF_Tag';
         }
         $tag = new $class($cl['Code'], $cl['Length'], $cl['LongFormat'], $reader, $this->root);
         $this->_tags[] = $tag;
         if ($cl['Code'] == 0) {
             // END Tag
             break;
         }
         if (!$tag->isDisplayListTag()) {
             continue;
         }
         if (!$tag->hasField('CharacterId')) {
             continue;
         }
         $characterId = $tag->getField('CharacterId');
         $object = $this->root->getTagByCharacterId($characterId);
         if (!in_array($characterId, $this->childIds)) {
             $this->childIds[] = $characterId;
         }
         if ($object && $object->firstParentId === false && $this->characterId) {
             $object->firstParentId = $this->characterId;
         }
         if ($tag->hasField('Name')) {
             $name = $tag->getField('Name');
             if (isset($this->childNames[$name]) && $this->childNames[$name] != $characterId) {
                 throw new Exception('Duplicate name "' . $name . '"');
             }
             if ($object->name === "") {
                 $object->name = $name;
             }
             $this->childNames[$name] = $characterId;
         }
     }
 }
コード例 #6
0
 public function getDictionaryArray()
 {
     return array_merge(parent::getDictionaryArray(), array('width' => $this->getField('BitmapWidth'), 'height' => $this->getField('BitmapHeight')));
 }
コード例 #7
0
 public function parse($reader)
 {
     $this->_fields['BackgroundColor'] = $reader->getRGB();
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #8
0
ファイル: DefineBits.class.php プロジェクト: nzw/FlashForward
 public function getDictionaryArray()
 {
     return array_merge(parent::getDictionaryArray(), array('width' => $this->width, 'height' => $this->height));
 }
コード例 #9
0
 public function parse($reader)
 {
     $this->_fields = array('CharacterId' => $reader->getUI16LE(), 'FontName' => $reader->getString(), 'FontCopyright' => $reader->getString());
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #10
0
ファイル: FrameLabel.class.php プロジェクト: nzw/FlashForward
 public function parse($reader)
 {
     $this->_fields = array('Name' => $reader->getString());
     $this->reset($reader);
     parent::parse($reader);
 }
コード例 #11
0
ファイル: DefineFont.class.php プロジェクト: nzw/FlashForward
 public function parse($reader)
 {
     $this->_fields = array('FontID' => $reader->getUI16LE());
     $this->reset($reader);
     parent::parse($reader);
 }