public static XElement ToXml(GradientRecordRGB record) { return new XElement("GradientItem", new XAttribute("position", record.Ratio), new XElement("color", XColorRGB.ToXml(record.Color)) ); }
public static GradientRecordRGB FromXml(XElement xRecord) { var record = new GradientRecordRGB { Ratio = xRecord.RequiredByteAttribute("position"), Color = XColorRGB.FromXml(xRecord.RequiredElement("color").Element("Color")) }; return record; }
public static GradientRecordRGB ReadGradientRecordRGB(this ISwfStreamReader reader) { var record = new GradientRecordRGB { Ratio = reader.ReadByte(), Color = reader.ReadRGB() }; return record; }
public static GradientRecordRGB ReadGradientRecordRGB(this ISwfStreamReader reader) { var record = new GradientRecordRGB { Ratio = reader.ReadByte(), Color = reader.ReadRGB() }; return(record); }
/// <summary> /// Reads RGB gradient from the reader. /// </summary> /// <param name="reader">The reader from which to read gradient.</param> /// <returns></returns> public static GradientRGB ReadGradientRGB(this ISwfStreamReader reader) { var gradient = new GradientRGB { 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); } return(gradient); }
public static void WriteGradientRGB(this ISwfStreamWriter writer, GradientRGB gradient) { writer.WriteUnsignedBits((uint)gradient.SpreadMode, 2); writer.WriteUnsignedBits((uint)gradient.InterpolationMode, 2); var count = gradient.GradientRecords.Count; if (count > 15) { throw new ArgumentOutOfRangeException("gradient", "Can't serialize more them 15 gradient points"); } writer.WriteUnsignedBits((uint)count, 4); for (var i = 0; i < count; i++) { GradientRecordRGB record = gradient.GradientRecords[i]; writer.WriteGradientRecordRGB(ref record); } }
public static void WriteGradientRecordRGB(this ISwfStreamWriter writer, ref GradientRecordRGB record) { writer.WriteByte(record.Ratio); writer.WriteRGB(record.Color); }
public static void AreEqual(GradientRecordRGB expected, GradientRecordRGB actual, string message) { Assert.AreEqual(expected.Ratio, actual.Ratio, message + ": Ratio"); AssertColors.AreEqual(expected.Color, actual.Color, message + ": Color"); }