private void Canvas_MouseDown(object sender, MouseButtonEventArgs e) { _currentState |= State.LEFTMOUSE_DOWN; if (_currentState.HasFlag(State.DRAWING)) { _lastDownedPoint = GetDot(e.GetPosition(shapeCanvas).ToVector()); _movingPoint = GDot.FromCoord(e.GetPosition(shapeCanvas).ToVector()); if (_drawingShape == null) { if (_currentState.HasFlag(State.CIRCLE)) { _drawingShape = GCircle.FromTwoDots(_lastDownedPoint, _movingPoint); } else if (_currentState.HasFlag(State.LINE)) { _drawingShape = GLine.FromTwoDots(_lastDownedPoint, _movingPoint); } else if (_currentState.HasFlag(State.DOT)) { _drawingShape = _lastDownedPoint; } _drawingShape.Control.Stroke = Brushes.Blue; shapeCanvas.Children.Add(_drawingShape.Control); } } }
private GDot GetDot(Vector2 coord) { // TODO: 이전 버전의 GCS의 GetDot과 같은 작동을 하게끔 return(GDot.FromCoord(coord)); }