Recurity.Swf.FilterList.Parse C# (CSharp) Method

Parse() public method

public Parse ( Stream input ) : void
input Stream
return void
        public void Parse( Stream input )
        {
            BinaryReader2 br = new BinaryReader2( input );

            _numFilters = br.ReadByte();
            _Filters = new List<AbstractFilter>( _numFilters );

            for ( int i = 0; i < _numFilters; i++ )
            {
                AbstractFilter.FilterTypes nextFilterType = ( AbstractFilter.FilterTypes )br.ReadByte();
                AbstractFilter aFilter;

                switch ( nextFilterType )
                {
                    case AbstractFilter.FilterTypes.DropShadowFilter:
                        aFilter = new Filter.DropShadowFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.BevelFilter:
                        aFilter = new Filter.BevelFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.BlurFilter:
                        aFilter = new Filter.BlurFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.ColorMatrixFilter:
                        aFilter = new Filter.ColorMatrixFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.ConvolutionFilter:
                        aFilter = new Filter.ConvolutionFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.GlowFilter:
                        aFilter = new Filter.GlowFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.GradientBevelFilter:
                        aFilter = new Filter.GradientBevelFilter( this.Version );
                        break;

                    case AbstractFilter.FilterTypes.GradientGlowFilter:
                        aFilter = new Filter.GradientGlowFilter( this.Version );
                        break;

                    default:
                        SwfFormatException e = new SwfFormatException( "Illegal Filter Type ID " + nextFilterType.ToString( "d" ) );
                       Log.Error(this,  e );
                        throw e;
                }

                aFilter.Parse( input );
                _Filters.Add( aFilter );
            }
        }

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="input"></param>
        public override void Parse( Stream input )
        {
            base.Parse( input );

            _ColorTransform = new CxFormWithAlpha( this.Version );
            _ColorTransform.Parse( input );
               //Log.Debug(this,  _ColorTransform.ToString() );

            if ( _ButtonHasFilterList )
            {
                _FilterList = new FilterList( this.Version );
                _FilterList.Parse( input );
            }

            if ( _ButtonHasBlendMode )
            {
                BinaryReader br = new BinaryReader( input );
                _BlendMode = br.ReadByte();

                if ( _BlendMode > 14 )
                {
                    throw new SwfFormatException( "ButtonRecord2 BlendMode > 14" );
                }
            }

               //Log.Debug(this,  this.ToString() );
        }