/// <summary> /// Makes a layout from a layout guess. /// </summary> /// <param name="layout">The layout guess.</param> /// <param name="name">The name of the final layout.</param> /// <param name="groupTag">The group tag of the final layout. Can be <c>null</c>.</param> /// <returns></returns> public static TagLayout MakeLayout(TagLayoutGuess layout, string name, Tag groupTag) { var result = new TagLayout(name, layout.Size, groupTag); var finalizer = new LayoutGuessFinalizer(result, 0); finalizer.ProcessLayout(layout); return result; }
/// <summary> /// Makes a layout from a layout guess. /// </summary> /// <param name="layout">The layout guess.</param> /// <param name="name">The name of the final layout.</param> /// <param name="groupTag">The group tag of the final layout. Can be <c>null</c>.</param> /// <returns></returns> public static TagLayout MakeLayout(TagLayoutGuess layout, string name, Tag groupTag) { var result = new TagLayout(name, layout.Size, groupTag); var finalizer = new LayoutGuessFinalizer(result, 0); finalizer.ProcessLayout(layout); return(result); }
public void Visit(uint offset, TagBlockGuess guess) { var name = string.Format("Tag Block {0}", _nextTagBlock); _nextTagBlock++; var elementLayout = new TagLayout(name, guess.ElementLayout.Size, new Tag(0)); var finalizer = new LayoutGuessFinalizer(elementLayout, _nextTagBlock); finalizer.ProcessLayout(guess.ElementLayout); var align = guess.Align; if ((guess.ElementLayout.Size & (guess.Align - 1)) != 0) align = 0; _nextTagBlock = finalizer._nextTagBlock; _result.Add(new TagBlockTagLayoutField(MakeName(offset), elementLayout) { DataAlign = align }); }
public void Visit(uint offset, TagBlockGuess guess) { var name = string.Format("Tag Block {0}", _nextTagBlock); _nextTagBlock++; var elementLayout = new TagLayout(name, guess.ElementLayout.Size, new Tag(0)); var finalizer = new LayoutGuessFinalizer(elementLayout, _nextTagBlock); finalizer.ProcessLayout(guess.ElementLayout); var align = guess.Align; if ((guess.ElementLayout.Size & (guess.Align - 1)) != 0) { align = 0; } _nextTagBlock = finalizer._nextTagBlock; _result.Add(new TagBlockTagLayoutField(MakeName(offset), elementLayout) { DataAlign = align }); }