public void Add(Fragment fragment) { fragment.Layer = this; AddSpatialIndex(fragment, Items.Count); Items.Add(fragment); Height = Math.Max(Height, fragment.Bounds.Bottom); if (fragment.IsSelectable) { if (nextSelectable != null) { nextSelectable.Fragment = fragment; nextSelectable = null; } previousSelectable = fragment; } else { if (nextSelectable == null) { nextSelectable = new FragmentRef(); } fragment.PreviousSelectable = previousSelectable; fragment.NextSelectable = nextSelectable; } }
public virtual void Clear() { Container.Children.Clear(); foreach (var item in Items) { item.Recycle(); } SpatialIndex.Clear(); Items.Clear(); Height = 0; nextSelectable = null; previousSelectable = null; }