public void Serialize(XmlWriter writer)
{
writer.WriteStartElement("TextRecord");
writer.WriteElementString("StyleFlagsHasFont", HasFont().ToString());
writer.WriteElementString("StyleFlagsHasColor", HasColor().ToString());
writer.WriteElementString("StyleFlagsHasYOffset", HasYOffset().ToString());
writer.WriteElementString("StyleFlagsHasXOffset", HasXOffset().ToString());
if (HasFont())
writer.WriteElementString("FontId", fontId.ToString());
if (HasColor())
this.textColor.Serialize(writer);
if (HasXOffset())
writer.WriteElementString("XOffset", xOffset.ToString());
if (HasYOffset())
writer.WriteElementString("YOffset", yOffset.ToString());
if (HasFont())
writer.WriteElementString("TextHeight", textHeight.ToString());
if (this.glyphEntries != null)
{
writer.WriteElementString("GlyphCount", this.glyphEntries.Count.ToString());
writer.WriteStartElement("GlyphEntries");
IEnumerator glyphs = this.glyphEntries.GetEnumerator();
while (glyphs.MoveNext())
((GlyphEntry)glyphs.Current).Serialize(writer);
writer.WriteEndElement();
}
writer.WriteEndElement();
}