/// <summary> /// Removes the specified value. /// </summary> /// <param name="value">Value.</param> public void Remove(GlyphEntry value) { if (List.Contains(value)) { List.Remove(value as object); } }
/// <summary> /// Reads the data. /// </summary> /// <param name="binaryReader">Binary reader.</param> /// <param name="endOfRecordsFlag">End of records flag.</param> /// <param name="tagCodeEnum">Tag code enum.</param> public void ReadData(BufferedBinaryReader binaryReader, ref bool endOfRecordsFlag, TagCodeEnum tagCodeEnum) { binaryReader.SynchBits(); bool textRecordType = binaryReader.ReadBoolean(); binaryReader.ReadUBits(3); bool styleFlagsHasFont = binaryReader.ReadBoolean(); bool styleFlagsHasColor = binaryReader.ReadBoolean(); bool styleFlagsHasYOffset = binaryReader.ReadBoolean(); bool styleFlagsHasXOffset = binaryReader.ReadBoolean(); if (textRecordType == false) { endOfRecordsFlag = true; return; } fontId = 0; if (styleFlagsHasFont) fontId = binaryReader.ReadUInt16(); textColor = null; if (styleFlagsHasColor) { if (tagCodeEnum == TagCodeEnum.DefineText2) { textColor = new RGBA(); textColor.ReadData(binaryReader); } else { textColor = new RGB(); textColor.ReadData(binaryReader); } } xOffset = 0; if (styleFlagsHasXOffset) xOffset = binaryReader.ReadInt16(); yOffset = 0; if (styleFlagsHasYOffset) yOffset = binaryReader.ReadInt16(); textHeight = 0; if (styleFlagsHasFont) textHeight = binaryReader.ReadUInt16(); byte glyphCount = binaryReader.ReadByte(); if (glyphCount > 0) { if (glyphEntries == null) glyphEntries = new GlyphEntryCollection(); else glyphEntries.Clear(); for (int i = 0; i < glyphCount; i++) { GlyphEntry glyphEntry = new GlyphEntry(); glyphEntry.ReadData(binaryReader); glyphEntries.Add(glyphEntry); } } }
/// <summary> /// Removes the specified value. /// </summary> /// <param name="value">Value.</param> public void Remove(GlyphEntry value) { if (List.Contains(value)) List.Remove(value as object); }
/// <summary> /// Inserts the specified index. /// </summary> /// <param name="index">Index.</param> /// <param name="value">Value.</param> public void Insert(int index, GlyphEntry value) { List.Insert(index, value as object); }
/// <summary> /// Get the index of. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public int IndexOf(GlyphEntry value) { return List.IndexOf(value); }
/// <summary> /// Containses the specified value. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public bool Contains(GlyphEntry value) { return List.Contains(value as object); }
/// <summary> /// Adds the range. /// </summary> /// <param name="values">Values.</param> public void AddRange(GlyphEntry[] values) { foreach(GlyphEntry ip in values) Add(ip); }
/// <summary> /// Adds the specified value. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public GlyphEntry Add(GlyphEntry value) { List.Add(value as object); return value; }
/// <summary> /// Reads the data. /// </summary> /// <param name="binaryReader">Binary reader.</param> /// <param name="endOfRecordsFlag">End of records flag.</param> /// <param name="tagCodeEnum">Tag code enum.</param> public void ReadData(BufferedBinaryReader binaryReader, ref bool endOfRecordsFlag, TagCodeEnum tagCodeEnum) { binaryReader.SynchBits(); bool textRecordType = binaryReader.ReadBoolean(); binaryReader.ReadUBits(3); bool styleFlagsHasFont = binaryReader.ReadBoolean(); bool styleFlagsHasColor = binaryReader.ReadBoolean(); bool styleFlagsHasYOffset = binaryReader.ReadBoolean(); bool styleFlagsHasXOffset = binaryReader.ReadBoolean(); if (textRecordType == false) { endOfRecordsFlag = true; return; } fontId = 0; if (styleFlagsHasFont) { fontId = binaryReader.ReadUInt16(); } textColor = null; if (styleFlagsHasColor) { if (tagCodeEnum == TagCodeEnum.DefineText2) { textColor = new RGBA(); textColor.ReadData(binaryReader); } else { textColor = new RGB(); textColor.ReadData(binaryReader); } } xOffset = 0; if (styleFlagsHasXOffset) { xOffset = binaryReader.ReadInt16(); } yOffset = 0; if (styleFlagsHasYOffset) { yOffset = binaryReader.ReadInt16(); } textHeight = 0; if (styleFlagsHasFont) { textHeight = binaryReader.ReadUInt16(); } byte glyphCount = binaryReader.ReadByte(); if (glyphCount > 0) { if (glyphEntries == null) { glyphEntries = new GlyphEntryCollection(); } else { glyphEntries.Clear(); } for (int i = 0; i < glyphCount; i++) { GlyphEntry glyphEntry = new GlyphEntry(); glyphEntry.ReadData(binaryReader); glyphEntries.Add(glyphEntry); } } }
/// <summary> /// Get the index of. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public int IndexOf(GlyphEntry value) { return(List.IndexOf(value)); }
/// <summary> /// Containses the specified value. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public bool Contains(GlyphEntry value) { return(List.Contains(value as object)); }
/// <summary> /// Adds the specified value. /// </summary> /// <param name="value">Value.</param> /// <returns></returns> public GlyphEntry Add(GlyphEntry value) { List.Add(value as object); return(value); }