protected override void MouseUp(MouseEventArgs e) { if (_currentDrawing != null && e.Button == MouseButtons.Left) { _drawings.Add(_currentDrawing); _currentDrawing = null; } }
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; } }
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); } }
private static int Comparerer(IRenderableItem item1, IRenderableItem item2) { return(item1.RenderPriority.CompareTo(item2.RenderPriority)); }
private static int Comparerer(IRenderableItem item1, IRenderableItem item2) { return item1.RenderPriority.CompareTo(item2.RenderPriority); }