GlyphEntry
Inheritance: ISwfSerializer
Esempio n. 1
0
 /// <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);
     }
 }
Esempio n. 2
0
        /// <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);
                }
            }
        }
Esempio n. 3
0
 /// <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);
 }
Esempio n. 4
0
 /// <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);
 }
Esempio n. 5
0
 /// <summary>
 /// Get the index of.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <returns></returns>
 public int IndexOf(GlyphEntry value)
 {
     return List.IndexOf(value);
 }
Esempio n. 6
0
 /// <summary>
 /// Containses the specified value.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <returns></returns>
 public bool Contains(GlyphEntry value)
 {
     return List.Contains(value as object);
 }
Esempio n. 7
0
 /// <summary>
 /// Adds the range.
 /// </summary>
 /// <param name="values">Values.</param>
 public void AddRange(GlyphEntry[] values)
 {
     foreach(GlyphEntry ip in values)
         Add(ip);
 }
Esempio n. 8
0
 /// <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;
 }
Esempio n. 9
0
        /// <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);
                }
            }
        }
Esempio n. 10
0
 /// <summary>
 /// Get the index of.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <returns></returns>
 public int IndexOf(GlyphEntry value)
 {
     return(List.IndexOf(value));
 }
Esempio n. 11
0
 /// <summary>
 /// Containses the specified value.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <returns></returns>
 public bool Contains(GlyphEntry value)
 {
     return(List.Contains(value as object));
 }
Esempio n. 12
0
 /// <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);
 }
Esempio n. 13
0
 /// <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);
 }