Esempio n. 1
0
 protected override void MouseUp(MouseEventArgs e)
 {
     if (_currentDrawing != null && e.Button == MouseButtons.Left)
     {
         _drawings.Add(_currentDrawing);
         _currentDrawing = null;
     }
 }
Esempio n. 2
0
        protected override void MouseDown(MouseEventArgs e)
        {
            //Don't start creating a line if resizing window
            //if (IsResiszing()) return;

            if (e.Button == MouseButtons.Left && _currentDrawMode == DrawMode.Lines)
            {
                _currentDrawing = new Line(new Vector2(_mousePosition.x, _mousePosition.y),
                                           new Vector2(_mousePosition.x, _mousePosition.y),
                                           RenderTarget2D, _currentLineColor);
            }

            else if (e.Button == MouseButtons.Left && _currentDrawMode == DrawMode.Rectangles)
            {
                _currentDrawing = new Rectangle(new Vector2(_mousePosition.x, _mousePosition.y),
                                                new Vector2(_mousePosition.x, _mousePosition.y),
                                                RenderTarget2D, _currentLineColor);
                ((Rectangle)_currentDrawing).FilledRectangle = _fillRect;
            }
        }
Esempio n. 3
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (DisableMouseControl)
            {
                return;
            }
            Point position = new Point((int)(e.X / scale), (int)(e.Y / scale));

            if (status == Status.Idle)
            {
                if (mouseDownItem == null)
                {
                    Status resizeStatus;
                    GetResizeStatusAt(e.X, e.Y, out resizeStatus);
                    if (resizeStatus == Status.ResizingTL || resizeStatus == Status.ResizingBR)
                    {
                        Cursor = Cursors.SizeNWSE;
                    }
                    else if (resizeStatus == Status.ResizingTR || resizeStatus == Status.ResizingBL)
                    {
                        Cursor = Cursors.SizeNESW;
                    }
                    else if (resizeStatus == Status.ResizingL || resizeStatus == Status.ResizingR)
                    {
                        Cursor = Cursors.SizeWE;
                    }
                    else if (resizeStatus == Status.ResizingT || resizeStatus == Status.ResizingB)
                    {
                        Cursor = Cursors.SizeNS;
                    }
                    else
                    {
                        IRenderableItem item = FindControlAt(position.X, position.Y);
                        Cursor = item == null ? Cursors.Default : Cursors.SizeAll;
                    }
                }
                else if (Math.Abs(lastMousePos.X - position.X) > 2 || Math.Abs(lastMousePos.Y - position.Y) > 2)
                {
                    if (mouseDownItem is Dialog || !SelectedItems.Contains(mouseDownItem))
                    {
                        SelectedItems.Clear();
                    }
                    if (!SelectedItems.Contains(mouseDownItem))
                    {
                        SelectedItems.Add(mouseDownItem);
                    }
                    if (!SelectedItems.Contains(MainSelectedItem))
                    {
                        MainSelectedItem = mouseDownItem;
                    }
                    status = Status.Dragging;
                    Parent.UpdateSelectedItem();
                }
            }
            if (status == Status.Dragging)
            {
                mouseDownItem.Move(position.X - lastMousePos.X, position.Y - lastMousePos.Y);
                Invalidate();
                if (Parent != null)
                {
                    Parent.ControlMovedOrResized();
                }
            }
            if (status == Status.ResizingB ||
                status == Status.ResizingBL ||
                status == Status.ResizingBR ||
                status == Status.ResizingL ||
                status == Status.ResizingR ||
                status == Status.ResizingT ||
                status == Status.ResizingTL ||
                status == Status.ResizingTR)
            {
                mouseDownItem.Resize(position.X - lastMousePos.X, position.Y - lastMousePos.Y, Enum.GetName(typeof(Status), status).Substring(8));
                Invalidate();
                if (Parent != null)
                {
                    Parent.ControlMovedOrResized();
                }
            }
            if (status == Status.CreatingControl)
            {
                Cursor = Cursors.Cross;
                Invalidate();
            }
            if (status != Status.Idle)
            {
                lastMousePos = new Point(position.X, position.Y);
            }
        }
Esempio n. 4
0
 private static int Comparerer(IRenderableItem item1, IRenderableItem item2)
 {
     return(item1.RenderPriority.CompareTo(item2.RenderPriority));
 }
Esempio n. 5
0
 private static int Comparerer(IRenderableItem item1, IRenderableItem item2)
 {
     return item1.RenderPriority.CompareTo(item2.RenderPriority);
 }