/// <summary> /// Adds the range. /// </summary> /// <param name="values">The values.</param> public void AddRange(BaseTagCollection values) { IEnumerator enums = values.GetEnumerator(); while (enums.MoveNext()) { Add((BaseTag)enums.Current); } }
/// <summary> /// see <see cref="SwfDotNet.IO.Tags.BaseTag">base class</see> /// </summary> public override void UpdateData(byte version) { if (version < 3) { return; } // update inner tags int len = 0; IEnumerator tags = tagList.GetEnumerator(); while (tags.MoveNext()) { BaseTag tag = (BaseTag)tags.Current; tag.UpdateData(version); len += tag.Data.Length; } MemoryStream m = new MemoryStream(); BufferedBinaryWriter w = new BufferedBinaryWriter(m); RecordHeader rh = new RecordHeader(TagCode, len + 4); rh.WriteTo(w); w.Write(spriteId); w.Write(frameCount); tags = tagList.GetEnumerator(); while (tags.MoveNext()) { BaseTag tag = (BaseTag)tags.Current; w.Write(tag.Data); } w.Flush(); // update data _data = m.ToArray(); }
/// <summary> /// Injects a range of tags in the current Swf. /// </summary> /// <param name="values">The values.</param> public void InjectTags(BaseTagCollection values) { IEnumerator enums = values.GetEnumerator(); for (int i = 0; enums.MoveNext(); i++) { BaseTag baseTag = (BaseTag)enums.Current; Add(baseTag); } }
/// <summary> /// Adds the range. /// </summary> /// <param name="values">The values.</param> public void AddRange(BaseTagCollection values) { IEnumerator enums = values.GetEnumerator(); while (enums.MoveNext()) Add((BaseTag)enums.Current); }
/// <summary> /// Read and parse VideoFrameTag, into inner tags and raw byte-array header data /// </summary> private static VideoFrameTag ReadVideoFrameTag(BufferedBinaryReader binaryReader, BaseTagCollection tagList) { VideoFrameTag video = new VideoFrameTag(); ushort streamId = binaryReader.PeekUInt16(); IEnumerator tags = tagList.GetEnumerator(); while (tags.MoveNext()) { BaseTag tag = (BaseTag)tags.Current; if (tag is DefineVideoStreamTag) { if (((DefineVideoStreamTag)tag).CharacterId == streamId) video.CodecId = ((DefineVideoStreamTag)tag).CodecId; } } return video; }