Esempio n. 1
0
        private void form_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Up:
            case Keys.W:
                isUpPressed = true;
                break;

            case Keys.Down:
            case Keys.S:
                isDownPressed = true;
                break;

            case Keys.Left:
            case Keys.A:
                isLeftPressed = true;
                break;

            case Keys.Right:
            case Keys.D:
                isRightPressed = true;
                break;

            case Keys.Menu:
                IsBottomRightResizing = true;
                break;
            }

            int speed = e.Shift ? RegionCaptureOptions.MoveSpeedMaximum : RegionCaptureOptions.MoveSpeedMinimum;
            int y     = isUpPressed && isDownPressed ? 0 : isDownPressed ? speed : isUpPressed ? -speed : 0;
            int x     = isLeftPressed && isRightPressed ? 0 : isRightPressed ? speed : isLeftPressed ? -speed : 0;

            BaseShape shape = shapeManager.CurrentShape;

            if (shape == null || shapeManager.IsCreating)
            {
                Cursor.Position = Cursor.Position.Add(x, y);
            }
            else
            {
                if (e.Control)
                {
                    shape.Move(x, y);
                }
                else
                {
                    shape.Resize(x, y, IsBottomRightResizing);
                }
            }
        }
Esempio n. 2
0
        private void form_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.ControlKey:
                IsCornerMoving = true;
                break;

            case Keys.ShiftKey:
                IsProportionalResizing = true;
                break;

            case Keys.Menu:
                IsSnapResizing = true;
                break;

            case Keys.Left:
            case Keys.A:
                isLeftPressed = true;
                break;

            case Keys.Right:
            case Keys.D:
                isRightPressed = true;
                break;

            case Keys.Up:
            case Keys.W:
                isUpPressed = true;
                break;

            case Keys.Down:
            case Keys.S:
                isDownPressed = true;
                break;
            }

            switch (e.KeyData)
            {
            case Keys.Insert:
                if (IsCreating)
                {
                    EndRegionSelection();
                }
                else
                {
                    StartRegionSelection();
                }
                break;

            case Keys.Delete:
                DeleteCurrentShape();

                if (IsCreating)
                {
                    EndRegionSelection();
                }
                break;

            case Keys.Shift | Keys.Delete:
                DeleteAllShapes();
                break;

            case Keys.F1:
                Options.ShowHotkeys = !Options.ShowHotkeys;
                if (tsmiTips != null)
                {
                    tsmiTips.Checked = Options.ShowHotkeys;
                }
                break;
            }

            if (!IsCreating)
            {
                if (Form.Mode == RegionCaptureMode.Annotation)
                {
                    switch (e.KeyData)
                    {
                    case Keys.Tab:
                        SwapShapeType();
                        break;

                    case Keys.NumPad0:
                        CurrentTool = ShapeType.RegionRectangle;
                        break;
                    }
                }

                if (Form.IsAnnotationMode)
                {
                    switch (e.KeyData)
                    {
                    case Keys.NumPad1:
                        CurrentTool = ShapeType.DrawingRectangle;
                        break;

                    case Keys.NumPad2:
                        CurrentTool = ShapeType.DrawingEllipse;
                        break;

                    case Keys.NumPad3:
                        CurrentTool = ShapeType.DrawingFreehand;
                        break;

                    case Keys.NumPad4:
                        CurrentTool = ShapeType.DrawingLine;
                        break;

                    case Keys.NumPad5:
                        CurrentTool = ShapeType.DrawingArrow;
                        break;

                    case Keys.NumPad6:
                        CurrentTool = ShapeType.DrawingTextOutline;
                        break;

                    case Keys.NumPad7:
                        CurrentTool = ShapeType.DrawingStep;
                        break;

                    case Keys.NumPad8:
                        CurrentTool = ShapeType.EffectBlur;
                        break;

                    case Keys.NumPad9:
                        CurrentTool = ShapeType.EffectPixelate;
                        break;

                    case Keys.Control | Keys.V:
                        PasteFromClipboard(true);
                        break;

                    case Keys.Control | Keys.Z:
                        UndoShape();
                        break;

                    case Keys.Home:
                        MoveCurrentShapeTop();
                        break;

                    case Keys.End:
                        MoveCurrentShapeBottom();
                        break;

                    case Keys.PageUp:
                        MoveCurrentShapeUp();
                        break;

                    case Keys.PageDown:
                        MoveCurrentShapeDown();
                        break;

                    case Keys.Q:
                        Options.QuickCrop     = !Options.QuickCrop;
                        tsmiQuickCrop.Checked = !Options.QuickCrop;
                        break;
                    }
                }
            }

            int speed;

            if (e.Shift)
            {
                speed = RegionCaptureOptions.MoveSpeedMaximum;
            }
            else
            {
                speed = RegionCaptureOptions.MoveSpeedMinimum;
            }

            int x = 0;

            if (isLeftPressed)
            {
                x -= speed;
            }

            if (isRightPressed)
            {
                x += speed;
            }

            int y = 0;

            if (isUpPressed)
            {
                y -= speed;
            }

            if (isDownPressed)
            {
                y += speed;
            }

            if (x != 0 || y != 0)
            {
                BaseShape shape = CurrentShape;

                if (shape == null || IsCreating)
                {
                    Cursor.Position = Cursor.Position.Add(x, y);
                }
                else
                {
                    if (e.Control)
                    {
                        shape.OnMoving();
                        shape.Move(x, y);
                    }
                    else
                    {
                        shape.OnResizing();
                        shape.Resize(x, y, !e.Alt);
                    }
                }
            }
        }
Esempio n. 3
0
        private void form_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.ControlKey:
                IsCornerMoving = true;
                break;

            case Keys.ShiftKey:
                IsProportionalResizing = true;
                break;

            case Keys.Menu:
                IsSnapResizing = true;
                break;

            case Keys.Left:
            case Keys.A:
                isLeftPressed = true;
                break;

            case Keys.Right:
            case Keys.D:
                isRightPressed = true;
                break;

            case Keys.Up:
            case Keys.W:
                isUpPressed = true;
                break;

            case Keys.Down:
            case Keys.S:
                isDownPressed = true;
                break;
            }

            switch (e.KeyData)
            {
            case Keys.Insert:
                if (IsCreating)
                {
                    EndRegionSelection();
                }
                else
                {
                    StartRegionSelection();
                }
                break;

            case Keys.Control | Keys.Z:
                UndoShape();
                break;
            }

            if (!IsCreating)
            {
                if (form.Mode == RegionCaptureMode.Annotation)
                {
                    switch (e.KeyData)
                    {
                    case Keys.Tab:
                        SwapShapeType();
                        break;

                    case Keys.NumPad0:
                        CurrentShapeType = ShapeType.RegionRectangle;
                        break;
                    }
                }

                if (form.IsAnnotationMode)
                {
                    switch (e.KeyData)
                    {
                    case Keys.NumPad1:
                        CurrentShapeType = ShapeType.DrawingRectangle;
                        break;

                    case Keys.NumPad2:
                        CurrentShapeType = ShapeType.DrawingRoundedRectangle;
                        break;

                    case Keys.NumPad3:
                        CurrentShapeType = ShapeType.DrawingEllipse;
                        break;

                    case Keys.NumPad4:
                        CurrentShapeType = ShapeType.DrawingLine;
                        break;

                    case Keys.NumPad5:
                        CurrentShapeType = ShapeType.DrawingArrow;
                        break;

                    case Keys.NumPad6:
                        CurrentShapeType = ShapeType.DrawingText;
                        break;

                    case Keys.NumPad7:
                        CurrentShapeType = ShapeType.DrawingStep;
                        break;

                    case Keys.NumPad8:
                        CurrentShapeType = ShapeType.EffectBlur;
                        break;

                    case Keys.NumPad9:
                        CurrentShapeType = ShapeType.EffectPixelate;
                        break;

                    case Keys.Control | Keys.V:
                        PasteFromClipboard();
                        break;
                    }
                }
            }

            int speed;

            if (e.Shift)
            {
                speed = RegionCaptureOptions.MoveSpeedMaximum;
            }
            else
            {
                speed = RegionCaptureOptions.MoveSpeedMinimum;
            }

            int x = 0;

            if (isLeftPressed)
            {
                x -= speed;
            }

            if (isRightPressed)
            {
                x += speed;
            }

            int y = 0;

            if (isUpPressed)
            {
                y -= speed;
            }

            if (isDownPressed)
            {
                y += speed;
            }

            if (x != 0 || y != 0)
            {
                BaseShape shape = CurrentShape;

                if (shape == null || IsCreating)
                {
                    Cursor.Position = Cursor.Position.Add(x, y);
                }
                else
                {
                    if (e.Control)
                    {
                        shape.Move(x, y);
                    }
                    else
                    {
                        shape.Resize(x, y, !e.Alt);
                    }
                }
            }
        }