コード例 #1
0
        public override void Start(object sender)
        {
            if (sender is Canvas)
            {
                Canvas      canvas        = (Canvas)sender;
                Point       mousePosition = Mouse.GetPosition(canvas);
                ShapeHolder shapeHolder   = CanvasHolder.ActiveShapeHolder;

                if (shapeHolder == null)
                {
                    shapeHolder = ShapeHolderFactory.CreateShapeHolder(CanvasHolder);
                    CanvasHolder.ActiveShapeHolder = shapeHolder;
                }
                HandlePoint newHandlePoint = new HandlePoint(mousePosition, shapeHolder);
                shapeHolder.CreateByPoint(newHandlePoint);

                if (shapeHolder.HandlePoints.Count > 2)
                {
                    shapeHolder.ModifyByPoint(newHandlePoint);
                }
            }
        }
        private void AddPoint_OnClick(object sender, RoutedEventArgs e)
        {
            Point position = new Point();

            position.X = Convert.ToDouble(tbPositionX.Text);
            position.Y = Convert.ToDouble(tbPositionY.Text);

            ShapeHolder shapeHolder = CanvasHolder.ActiveShapeHolder;

            if (shapeHolder == null)
            {
                shapeHolder = ShapeHolderFactory.CreateShapeHolder(CanvasHolder);
                CanvasHolder.ActiveShapeHolder = shapeHolder;
            }
            HandlePoint newHandlePoint = new HandlePoint(position, shapeHolder);

            shapeHolder.CreateByPoint(newHandlePoint);

            if (shapeHolder.HandlePoints.Count > 2)
            {
                shapeHolder.ModifyByPoint(newHandlePoint);
            }
        }
コード例 #3
0
 public virtual void ModifyShape()
 {
     ShapeHolder.ModifyByPoint(this);
 }