Наследование: ISvgPathSeg
Пример #1
0
        public SvgPathSeg AppendItem(SvgPathSeg newItem)
        {
            if (_readOnly)
            {
                throw new DomException(DomExceptionType.NoModificationAllowedErr);
            }
            _segments.Add(newItem);
            SetListAndIndex(newItem, _segments.Count - 1);

            return(newItem);
        }
Пример #2
0
 private void setListAndIndex(SvgPathSeg newItem, int index)
 {
     if (newItem != null)
     {
         newItem.setList(this);
         newItem.setIndex(index);
     }
     else
     {
         throw new SvgException(SvgExceptionType.SvgWrongTypeErr, "Can only add SvgPathSeg subclasses to ISvgPathSegList");
     }
 }
Пример #3
0
        public SvgPathSeg InsertItemBefore(SvgPathSeg newItem, int index)
        {
            if (_readOnly)
            {
                throw new DomException(DomExceptionType.NoModificationAllowedErr);
            }
            _segments.Insert(index, newItem);
            SetListAndIndex(newItem, index);
            ChangeIndexes(index + 1, 1);

            return(newItem);
        }
Пример #4
0
        private void changeIndexes(int startAt, int diff)
        {
            int count = _segments.Count;

            for (int i = startAt; i < count; i++)
            {
                SvgPathSeg seg = _segments[i] as SvgPathSeg;
                if (seg != null)
                {
                    seg.SetIndexWithDiff(diff);
                }
            }
        }
Пример #5
0
        public SvgPathSeg RemoveItem(int index)
        {
            if (_readOnly)
            {
                throw new DomException(DomExceptionType.NoModificationAllowedErr);
            }
            SvgPathSeg result = GetItem(index);

            _segments.RemoveAt(index);
            ChangeIndexes(index, -1);

            return(result);
        }
Пример #6
0
        public ISvgPathSeg ReplaceItem(SvgPathSeg newItem, int index)
        {
            if (_readOnly)
            {
                throw new DomException(DomExceptionType.NoModificationAllowedErr);
            }
            SvgPathSeg replacedItem = this.GetItem(index);

            _segments[index] = newItem;
            SetListAndIndex(newItem, index);

            return(replacedItem);
        }
Пример #7
0
        internal SvgPathSeg GetPreviousSegment(SvgPathSeg seg)
        {
            int index = _segments.IndexOf(seg);

            if (index == -1)
            {
                throw new Exception("Path segment not part of this list");
            }
            if (index == 0)
            {
                return(null);
            }
            return((SvgPathSeg)GetItem(index - 1));
        }
Пример #8
0
        internal SvgPathSeg GetNextSegment(SvgPathSeg seg)
        {
            int index = _segments.IndexOf(seg);

            if (index == -1)
            {
                throw new Exception("Path segment not part of this list");
            }
            if (index == _segments.Count - 1)
            {
                return(null);
            }
            return((SvgPathSeg)this[index + 1]);
        }
Пример #9
0
        private void SetListAndIndex(SvgPathSeg newItem, int index)
        {
            if (newItem == null)
            {
                throw new SvgException(SvgExceptionType.SvgWrongTypeErr,
                                       "Can only add SvgPathSeg subclasses to ISvgPathSegList");
            }

            newItem._list  = this;
            newItem._index = index;

            //newItem.SetList(this);
            //newItem.SetIndex(index);
        }
        private SvgPointF GetPrevPoint()
        {
            SvgPathSeg prevSeg = this.PreviousSeg;
            SvgPointF  prevPoint;

            if (prevSeg == null)
            {
                prevPoint = new SvgPointF(0, 0);
            }
            else
            {
                prevPoint = prevSeg.AbsXY;
            }
            return(prevPoint);
        }
Пример #11
0
        private PointF getPrevPoint()
        {
            SvgPathSeg prevSeg = PreviousSeg;
            PointF     prevPoint;

            if (prevSeg == null)
            {
                prevPoint = new PointF(0, 0);
            }
            else
            {
                prevPoint = prevSeg.AbsXY;
            }
            return(prevPoint);
        }
Пример #12
0
        public SvgPathSeg Initialize(SvgPathSeg newItem)
        {
            Clear();

            return(AppendItem(newItem));
        }
Пример #13
0
 private void setListAndIndex(SvgPathSeg newItem, int index)
 {
     if(newItem != null)
     {
         newItem.setList(this);
         newItem.setIndex(index);
     }
     else
     {
         throw new SvgException(SvgExceptionType.SvgWrongTypeErr, "Can only add SvgPathSeg subclasses to ISvgPathSegList");
     }
 }
Пример #14
0
 internal SvgPathSeg GetPreviousSegment(SvgPathSeg seg)
 {
     int index = segments.IndexOf(seg);
     if(index == -1)
     {
         throw new Exception("Path segment not part of this list");
     }
     else if(index == 0)
     {
         return null;
     }
     else
     {
         return (SvgPathSeg)GetItem(index - 1);
     }
 }
Пример #15
0
 internal SvgPathSeg GetNextSegment(SvgPathSeg seg)
 {
     int index = segments.IndexOf(seg);
     if(index == -1)
     {
         throw new Exception("Path segment not part of this list");
     }
     else if(index == segments.Count-1)
     {
         return null;
     }
     else
     {
         return (SvgPathSeg)this[index + 1];
     }
 }
Пример #16
0
 public void Add(SvgPathSeg item)
 {
     this.AppendItem(item);
 }
Пример #17
0
 public bool Contains(SvgPathSeg item)
 {
     return(this._segments.Contains(item));
 }
Пример #18
0
 public int IndexOf(SvgPathSeg item)
 {
     return(this._segments.IndexOf(item));
 }
Пример #19
0
 public void Insert(int index, SvgPathSeg item)
 {
     this.ReplaceItem(item, index);
 }
Пример #20
0
 public bool Remove(SvgPathSeg item)
 {
     return(this._segments.Remove(item));
 }