コード例 #1
0
ファイル: SelectionTool.cs プロジェクト: Bajena/PolygonEditor
        public override void OnMouseDown(CanvasPanel canvasPanel, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                SelectedShape = GetClickedShape(canvasPanel, e);
                if (this.SelectedShape != null)
                {
                    canvasPanel.Cursor = Cursors.SizeAll;
                    _dragInfo = new DragInfo(e, SelectedShape.GetHandlerAt(e.Location));
                }

            }

            canvasPanel.Refresh();
        }
コード例 #2
0
ファイル: SelectionTool.cs プロジェクト: Bajena/PolygonEditor
        public override void OnMouseUp(CanvasPanel canvasPanel, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                canvasPanel.Cursor = this.Cursor;
                _dragInfo = null;
            }
            else if (e.Button==MouseButtons.Right)
            {
                if (_selectedShape!=null)
                {
                    if (_selectedShape.GetType() == typeof(Polygon))
                    {
                        var poly = (Polygon) SelectedShape;
                        int clickedHandler = _selectedShape.GetHandlerAt(e.Location);
                        if (clickedHandler > -1)
                        {
                            poly.RemoveVertex(clickedHandler);
                        }
                        else
                        {
                            poly.AddVertex(e.Location);
                        }

                    }

                    canvasPanel.Refresh();
                }
            }
        }