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); }
public static SwfHeader ReadSwfHeader(this ISwfStreamReader reader) { var header = new SwfHeader { FrameSize = reader.ReadRect(), FrameRate = reader.ReadFixedPoint8(), FrameCount = reader.ReadUInt16() }; return(header); }
/// <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); }