Example #1
0
 static function build(&$writer, $buttonrecord, $opts = array())
 {
     $writer->byteAlign();
     $writer->putUIBits(0, 2);
     // ButtonReserved
     $buttonHasBlendMode = $buttonrecord['ButtonHasBlandMode'];
     $buttonHasFilterList = $buttonrecord['ButtonHasFilterList'];
     $writer->putUIBit($buttonHasBlendMode);
     $writer->putUIBit($buttonHasFilterList);
     $writer->putUIBit($buttonrecord['ButtonStateHitTest']);
     $writer->putUIBit($buttonrecord['ButtonStateDown']);
     $writer->putUIBit($buttonrecord['ButtonStateOver']);
     $writer->putUIBit($buttonrecord['ButtonStateUp']);
     //
     $writer->putUI16LE($buttonrecord['CharacterID']);
     $writer->putUI16LE($buttonrecord['PlaceDepth']);
     IO_SWF_Type_MATRIX::build($writer, $buttonrecord['PlaceMatrix']);
     if ($opts['tagCode'] == 34) {
         // DefineButton2
         IO_SWF_Type_CXFORMWITHALPHA::build($writer, $buttonrecord['ColorTransform']);
     } else {
         IO_SWF_Type_CXFORM::build($writer, $buttonrecord['ColorTransform']);
     }
     if ($opts['tagCode'] == 34 && $opts['Version'] >= 8) {
         // DefineButton2 & SWF8 later
         if ($buttonHasFilterList == 1) {
             IO_SWF_Type_FILTERLIST::build($writer, $buttonrecord['FilterList']);
         }
         if ($buttonHasBlendMode == 1) {
             $writer->putUI8($buttonrecord['BlendMode']);
         }
     }
 }