/// <summary> /// Instantiate a new line figure /// </summary> /// <param name="canvas">the associated canvas</param> /// <param name="start">the starting point</param> public LineFigure(ICanvas canvas, Point start) : base(canvas, start, Size.Empty) { _startLocator = new Locator.PointLocator(_location); ((IObservable)_startLocator).AddObserver(this); _endLocator = new Locator.PointLocator(_location); ((IObservable)_endLocator).AddObserver(this); _handles.Add(new Basic.LocatorHandle(_startLocator, _canvas)); _handles.Add(new Basic.LocatorHandle(_endLocator, _canvas)); }
/// <summary> /// Add a point to the polygon /// </summary> /// <param name="p"></param> public void AddPoint(Point p) { var pl = new Locator.PointLocator(p); ((IObservable)pl).AddObserver(this); _locators.Add(pl); _handles.Add(new Basic.LocatorHandle(pl, _canvas)); RecomputeShapeFromBounds(); }