Inheritance: GradientGlowFilter
Exemplo n.º 1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="input"></param>
        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 );
            }
        }