コード例 #1
0
        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;
            }
        }
コード例 #2
0
        public virtual void Clear()
        {
            Container.Children.Clear();

            foreach (var item in Items)
            {
                item.Recycle();
            }

            SpatialIndex.Clear();
            Items.Clear();
            Height = 0;

            nextSelectable     = null;
            previousSelectable = null;
        }