示例#1
0
        static Filter ReadConcreteFilter(GradientBevelFilter filter, SwfStreamReader reader)
        {
            var num_colors = reader.ReadByte();

            filter.GradientColors = new SwfColor[num_colors];
            for (var i = 0; i < num_colors; ++i)
            {
                filter.GradientColors[i] = SwfColor.Read(reader, true);
            }
            filter.GradientRatio = new byte[num_colors];
            for (var i = 0; i < num_colors; ++i)
            {
                filter.GradientRatio[i] = reader.ReadByte();
            }
            filter.BlurX           = reader.ReadFixedPoint_16_16();
            filter.BlurY           = reader.ReadFixedPoint_16_16();
            filter.Angle           = reader.ReadFixedPoint_16_16();
            filter.Distance        = reader.ReadFixedPoint_16_16();
            filter.Strength        = reader.ReadFixedPoint_8_8();
            filter.InnerShadow     = reader.ReadBit();
            filter.Knockout        = reader.ReadBit();
            filter.CompositeSource = reader.ReadBit();
            filter.OnTop           = reader.ReadBit();
            filter.Passes          = reader.ReadUnsignedBits(4);
            return(filter);
        }
示例#2
0
 public static void AreEqual(GradientBevelFilter expected, GradientBevelFilter actual, string message)
 {
     Assert.AreEqual(expected.BlurX, actual.BlurX, message + ".BlurX");
     Assert.AreEqual(expected.BlurY, actual.BlurY, message + ".BlurY");
     AssertGradients.AreEqual(expected.GradientColors, actual.GradientColors, "GradientColors");
     Assert.AreEqual(expected.CompositeSource, actual.CompositeSource);
     Assert.AreEqual(expected.InnerGlow, actual.InnerGlow);
     Assert.AreEqual(expected.Knockout, actual.Knockout);
     Assert.AreEqual(expected.Passes, actual.Passes);
     Assert.AreEqual(expected.Strength, actual.Strength);
     Assert.AreEqual(expected.Angle, actual.Angle);
     Assert.AreEqual(expected.Distance, actual.Distance);
     Assert.AreEqual(expected.OnTop, actual.OnTop);
 }
示例#3
0
 public static void AreEqual(GradientBevelFilter expected, GradientBevelFilter actual, string message)
 {
     Assert.AreEqual(expected.BlurX, actual.BlurX, message + ".BlurX");
     Assert.AreEqual(expected.BlurY, actual.BlurY, message + ".BlurY");
     AssertGradients.AreEqual(expected.GradientColors, actual.GradientColors, "GradientColors");
     Assert.AreEqual(expected.CompositeSource, actual.CompositeSource);
     Assert.AreEqual(expected.InnerGlow, actual.InnerGlow);
     Assert.AreEqual(expected.Knockout, actual.Knockout);
     Assert.AreEqual(expected.Passes, actual.Passes);
     Assert.AreEqual(expected.Strength, actual.Strength);
     Assert.AreEqual(expected.Angle, actual.Angle);
     Assert.AreEqual(expected.Distance, actual.Distance);
     Assert.AreEqual(expected.OnTop, actual.OnTop);
 }
示例#4
0
 public static XElement ToXml(GradientBevelFilter filter)
 {
     var res = new XElement(TAG_NAME,
         new XAttribute("blurX", CommonFormatter.Format(filter.BlurX)),
         new XAttribute("blurY", CommonFormatter.Format(filter.BlurY)),
         new XAttribute("angle", CommonFormatter.Format(filter.Angle)),
         new XAttribute("distance", CommonFormatter.Format(filter.Distance)),
         new XAttribute("strength", CommonFormatter.Format(filter.Strength)),
         new XAttribute("innerGlow", CommonFormatter.Format(filter.InnerGlow)),
         new XAttribute("knockout", CommonFormatter.Format(filter.Knockout)),
         new XAttribute("compositeSource", CommonFormatter.Format(filter.CompositeSource)),
         new XAttribute("onTop", CommonFormatter.Format(filter.OnTop)),
         new XAttribute("passes", filter.Passes)
     );
     res.Add(XGradientRecords.ToXml(filter.GradientColors));
     return res;
 }
示例#5
0
        public static XElement ToXml(GradientBevelFilter filter)
        {
            var res = new XElement(TAG_NAME,
                                   new XAttribute("blurX", CommonFormatter.Format(filter.BlurX)),
                                   new XAttribute("blurY", CommonFormatter.Format(filter.BlurY)),
                                   new XAttribute("angle", CommonFormatter.Format(filter.Angle)),
                                   new XAttribute("distance", CommonFormatter.Format(filter.Distance)),
                                   new XAttribute("strength", CommonFormatter.Format(filter.Strength)),
                                   new XAttribute("innerGlow", CommonFormatter.Format(filter.InnerGlow)),
                                   new XAttribute("knockout", CommonFormatter.Format(filter.Knockout)),
                                   new XAttribute("compositeSource", CommonFormatter.Format(filter.CompositeSource)),
                                   new XAttribute("onTop", CommonFormatter.Format(filter.OnTop)),
                                   new XAttribute("passes", filter.Passes)
                                   );

            res.Add(XGradientRecords.ToXml(filter.GradientColors));
            return(res);
        }
示例#6
0
        public static GradientBevelFilter FromXml(XElement xFilter)
        {
            var xCompositeSource = xFilter.Attribute("compositeSource");

            var filter = new GradientBevelFilter {
                BlurX = xFilter.RequiredDoubleAttribute("blurX"),
                BlurY = xFilter.RequiredDoubleAttribute("blurY"),
                Angle = xFilter.RequiredDoubleAttribute("angle"),
                Distance = xFilter.RequiredDoubleAttribute("distance"),
                Strength = xFilter.RequiredDoubleAttribute("strength"),
                InnerGlow = xFilter.RequiredBoolAttribute("innerGlow"),
                Knockout = xFilter.RequiredBoolAttribute("knockout"),
                CompositeSource = xCompositeSource == null || CommonFormatter.ParseBool(xCompositeSource.Value),
                OnTop = xFilter.RequiredBoolAttribute("onTop"),
                Passes = xFilter.RequiredUIntAttribute("passes"),
            };

            XGradientRecords.FromXml(xFilter.Element("gradientColors"), filter.GradientColors);
            return filter;
        }
示例#7
0
        public static GradientBevelFilter FromXml(XElement xFilter)
        {
            var xCompositeSource = xFilter.Attribute("compositeSource");

            var filter = new GradientBevelFilter {
                BlurX           = xFilter.RequiredDoubleAttribute("blurX"),
                BlurY           = xFilter.RequiredDoubleAttribute("blurY"),
                Angle           = xFilter.RequiredDoubleAttribute("angle"),
                Distance        = xFilter.RequiredDoubleAttribute("distance"),
                Strength        = xFilter.RequiredDoubleAttribute("strength"),
                InnerGlow       = xFilter.RequiredBoolAttribute("innerGlow"),
                Knockout        = xFilter.RequiredBoolAttribute("knockout"),
                CompositeSource = xCompositeSource == null || CommonFormatter.ParseBool(xCompositeSource.Value),
                OnTop           = xFilter.RequiredBoolAttribute("onTop"),
                Passes          = xFilter.RequiredUIntAttribute("passes"),
            };

            XGradientRecords.FromXml(xFilter.Element("gradientColors"), filter.GradientColors);
            return(filter);
        }
示例#8
0
文件: XFilter.cs 项目: shhadi/SwfLib
 public XElement Visit(GradientBevelFilter filter, object arg)
 {
     return(XGradientBevelFilter.ToXml(filter));
 }