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']); } } }