Exemplo n.º 1
0
        public void DrawingPanelRightMouseButtonPressed(int mouseX, int mouseY)
        {
            RightClickPopUp = null;
            var clickedOnSelectedShape = SelectedShapes.Where(s => s.Contains(mouseX, mouseY)).ToList().Count > 0;

            if (SelectedShapes.Count > 1 && clickedOnSelectedShape)
            {
                var tmpSelectedShapes = new GroupShapes();
                foreach (var shape in SelectedShapes)
                {
                    tmpSelectedShapes.Add(shape);
                }
                RightClickPopUp = tmpSelectedShapes.CreateRightClickPopUp();
            }
            else
            {
                var shape = DrawnShapes.LastOrDefault(s => s.Contains(mouseX, mouseY));
                if (shape != null)
                {
                    RightClickPopUp = shape.CreateRightClickPopUp();
                }
            }
            if (RightClickPopUp != null)
            {
                _g.OpenRightClickPopUp();
            }
        }
Exemplo n.º 2
0
        private void MovableMoved(IShape sender, Point oldPos, Point newPos)
        {
            if (SelectedShapes == null)
            {
                return;
            }
            var deltaX = newPos.X - oldPos.X;
            var deltaY = newPos.Y - oldPos.Y;

            if (Math.Abs(deltaX) < 1e-6 && Math.Abs(deltaY) < 1e-6)
            {
                return;
            }

            foreach (var item in SelectedShapes?.Where(x => x != sender))
            {
                item.Left = item.Left + deltaX;
                item.Top  = item.Top + deltaY;
            }
            CheckBounds(sender);
        }