Ejemplo n.º 1
0
        public static LineStyleEx ReadLineStyleEx(this ISwfStreamReader reader)
        {
            var lineStyle = new LineStyleEx {
                Width         = reader.ReadUInt16(),
                StartCapStyle = (CapStyle)reader.ReadUnsignedBits(2),
                JoinStyle     = (JoinStyle)reader.ReadUnsignedBits(2),
                HasFill       = reader.ReadBit(),
                NoHScale      = reader.ReadBit(),
                NoVScale      = reader.ReadBit(),
                PixelHinting  = reader.ReadBit(),
                Reserved      = (byte)reader.ReadUnsignedBits(5),
                NoClose       = reader.ReadBit(),
                EndCapStyle   = (CapStyle)reader.ReadUnsignedBits(2)
            };

            if (lineStyle.JoinStyle == JoinStyle.Miter)
            {
                lineStyle.MilterLimitFactor = reader.ReadFixedPoint8();
            }
            if (lineStyle.HasFill)
            {
                lineStyle.FillStyle = reader.ReadFillStyleRGBA();
            }
            else
            {
                lineStyle.Color = reader.ReadRGBA();
            }
            return(lineStyle);
        }
Ejemplo n.º 2
0
        public static SwfHeader ReadSwfHeader(this ISwfStreamReader reader)
        {
            var header = new SwfHeader {
                FrameSize  = reader.ReadRect(),
                FrameRate  = reader.ReadFixedPoint8(),
                FrameCount = reader.ReadUInt16()
            };

            return(header);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Reads RGB focal gradient from the reader.
        /// </summary>
        /// <param name="reader">The reader from which to read focal gradient.</param>
        /// <returns></returns>
        public static FocalGradientRGB ReadFocalGradientRGB(this ISwfStreamReader reader)
        {
            var gradient = new FocalGradientRGB {
                SpreadMode        = (SpreadMode)reader.ReadUnsignedBits(2),
                InterpolationMode = (InterpolationMode)reader.ReadUnsignedBits(2)
            };
            var count = reader.ReadUnsignedBits(4);

            for (var i = 0; i < count; i++)
            {
                GradientRecordRGB record = reader.ReadGradientRecordRGB();
                gradient.GradientRecords.Add(record);
            }
            gradient.FocalPoint = reader.ReadFixedPoint8();
            return(gradient);
        }