public SvgPathSeg AppendItem(SvgPathSeg newItem) { if (_readOnly) { throw new DomException(DomExceptionType.NoModificationAllowedErr); } _segments.Add(newItem); SetListAndIndex(newItem, _segments.Count - 1); return(newItem); }
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"); } }
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); }
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); } } }
public SvgPathSeg RemoveItem(int index) { if (_readOnly) { throw new DomException(DomExceptionType.NoModificationAllowedErr); } SvgPathSeg result = GetItem(index); _segments.RemoveAt(index); ChangeIndexes(index, -1); return(result); }
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); }
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)); }
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]); }
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); }
private PointF getPrevPoint() { SvgPathSeg prevSeg = PreviousSeg; PointF prevPoint; if (prevSeg == null) { prevPoint = new PointF(0, 0); } else { prevPoint = prevSeg.AbsXY; } return(prevPoint); }
public SvgPathSeg Initialize(SvgPathSeg newItem) { Clear(); return(AppendItem(newItem)); }
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"); } }
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); } }
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]; } }
public void Add(SvgPathSeg item) { this.AppendItem(item); }
public bool Contains(SvgPathSeg item) { return(this._segments.Contains(item)); }
public int IndexOf(SvgPathSeg item) { return(this._segments.IndexOf(item)); }
public void Insert(int index, SvgPathSeg item) { this.ReplaceItem(item, index); }
public bool Remove(SvgPathSeg item) { return(this._segments.Remove(item)); }