/// <summary>
///
/// </summary>
/// <param name="output"></param>
public override void Write(Stream output)
{
BitStream bits = new BitStream(output);
BinaryWriter bw = new BinaryWriter(output);
bw.Write(this._startWidth);
bw.Write(this._endWidth);
bits.WriteBits(2, (Int32)this._startCapStyle);
bits.WriteBits(2, (Int32)this._joinstyle);
bits.WriteBits(1, Convert.ToInt32(this._hasFillFlag));
bits.WriteBits(1, Convert.ToInt32(this._noHScale));
bits.WriteBits(1, Convert.ToInt32(this._noVScale));
bits.WriteBits(1, Convert.ToInt32(this._pixelHinting));
bits.WriteBits(5, 0); // reserved
bits.WriteBits(1, Convert.ToInt32(this._noClose));
bits.WriteBits(2, (Int32)this._endCapStyle);
bits.WriteFlush();
if (this._joinstyle.Equals(JoinStyle.Miter))
{
bits.WriteBitsFB(16, this._miterLimtiFactor);
}
if (!this._hasFillFlag)
{
this._startColor.Write(output);
this._endColor.Write(output);
}
else
{
this._fillStyle.Write(output);
}
}