/// <summary> /// Gets the size of. /// </summary> /// <returns>Size of this object.</returns> public int GetSizeOf() { int res = 0; if (fillStyleArray != null) { res += fillStyleArray.GetSizeOf(); } if (lineStyleArray != null) { res += lineStyleArray.GetSizeOf(); } if (shapes != null) { ShapeWithStyle.NumFillBits = 0; ShapeWithStyle.NumLineBits = 0; if (fillStyleArray != null && fillStyleArray.Count != 0) { ShapeWithStyle.NumFillBits = BufferedBinaryWriter.GetNumBits((uint)fillStyleArray.Count); } if (lineStyleArray != null && lineStyleArray.Count != 0) { ShapeWithStyle.NumLineBits = BufferedBinaryWriter.GetNumBits((uint)lineStyleArray.Count); } res += shapes.GetSizeOf(); ShapeWithStyle.NumFillBits = 0; ShapeWithStyle.NumLineBits = 0; } return(res); }
/// <summary> /// Gets the glyphs size of. /// </summary> /// <returns></returns> public int GetGlyphsSizeOf() { int res = 0; ShapeWithStyle.NumFillBits = 0; ShapeWithStyle.NumLineBits = 0; IEnumerator glyphShapesCollections = this.Values.GetEnumerator(); while (glyphShapesCollections.MoveNext()) { ShapeRecordCollection glyphs = (ShapeRecordCollection)glyphShapesCollections.Current; ShapeWithStyle.NumFillBits = 1; res += glyphs.GetSizeOf(); } return(res); }