public virtual void Parse( Stream input )
{
BitStream bits = new BitStream( input );
uint reserved = bits.GetBits( 2 );
if ( 0 != reserved )
{
throw new SwfFormatException( "ButtonRecord reserved bits used" );
}
_ButtonHasBlendMode = ( 0 != bits.GetBits( 1 ) );
_ButtonHasFilterList = ( 0 != bits.GetBits( 1 ) );
_ButtonStateHitTest = ( 0 != bits.GetBits( 1 ) );
_ButtonStateDown = ( 0 != bits.GetBits( 1 ) );
_ButtonStateOver = ( 0 != bits.GetBits( 1 ) );
_ButtonStateUp = ( 0 != bits.GetBits( 1 ) );
BinaryReader br = new BinaryReader( input );
_CharacterID = br.ReadUInt16();
_PlaceDepth = br.ReadUInt16();
_PlaceMatrix = new Matrix( this.Version );
_PlaceMatrix.Parse( input );
}