private void mainWindowKeyDown(object sender, KeyEventArgs e)
        {
            Keys.EnableKeys keyKind = Keys.ToEnableKeys(e.Key, e.KeyboardDevice);

            if (Keys.IsKeyCursor(keyKind))
            {
                SetAuxiliaryLineEvent();
                PublishAuxiliaryLineEvent(keyKind);
            }
            else if (keyKind == Keys.EnableKeys.RotatePlus)
            {
                RotateAuxiliaryLine(_rotateByKey);
            }
            else if (keyKind == Keys.EnableKeys.RotateMinus)
            {
                RotateAuxiliaryLine(-_rotateByKey);
            }
            else if (keyKind == Keys.EnableKeys.RotatePlusWithCtrl)
            {
                RotateAuxiliaryLine(_rotateByKeyWithCtrl);
            }
            else if (keyKind == Keys.EnableKeys.RotateMinusWithCtrl)
            {
                RotateAuxiliaryLine(-_rotateByKeyWithCtrl);
            }
            else if (keyKind == Keys.EnableKeys.Cancel)
            {
                CancelAuxiliaryLineEvent();
            }
            else if (keyKind == Keys.EnableKeys.Redo)
            {
                RedoAuxiliaryLineEvent();
            }
            else if (keyKind == Keys.EnableKeys.FileOpen)
            {
                OpenImage();
            }
            else if (keyKind == Keys.EnableKeys.FileSave)
            {
                SaveImage();
            }
            else if (keyKind == Keys.EnableKeys.PreviewWindowOpen)
            {
                OpenPreviewWindow();
            }
        }
Exemple #2
0
        public void TestAuxiliaryLineStayInImageAfterInputCursorKeyDownIfAuxiliaryLineBottomIsImageBottom()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();

            int enableDownRange = ac.DisplayImageHeight - ac.AuxiliaryBottom;

            Keys.EnableKeys down = Keys.EnableKeys.Down;
            ac.SetEvent();
            for (int i = 1; i <= enableDownRange; i++)
            {
                ac.PublishEvent(down);
                Assert.AreEqual(i, ac.AuxiliaryTop);
            }

            int maxDownRange = enableDownRange - Common.AuxiliaryLineThickness + 1;

            Assert.AreEqual(maxDownRange, ac.AuxiliaryTop);

            ac.PublishEvent(down);
            Assert.AreEqual(maxDownRange, ac.AuxiliaryTop);
        }
Exemple #3
0
        public void TestAuxiliaryLineStayInImageAfterInputCursorKeyRightIfAuxiliaryLineRightIsImageRight()
        {
            AuxiliaryController ac = Common.GetAuxiliaryControllerImage001RatioTypeW16H9();

            int enableRightRange = ac.DisplayImageWidth - ac.AuxiliaryRight;

            Keys.EnableKeys right = Keys.EnableKeys.Right;
            ac.SetEvent();
            for (int i = 1; i <= enableRightRange; i++)
            {
                ac.PublishEvent(right);
                // 原点を右に移動させるので、原点位置=Leftと比較する
                Assert.AreEqual(i, ac.AuxiliaryLeft);
            }

            int maxRightRange = enableRightRange - Common.AuxiliaryLineThickness + 1;

            Assert.AreEqual(maxRightRange, ac.AuxiliaryLeft);

            ac.PublishEvent(right);
            Assert.AreEqual(maxRightRange, ac.AuxiliaryLeft);
        }
        private AuxiliaryLineParameter MoveByKey(Keys.EnableKeys key)
        {
            AuxiliaryLineParameter newParameter = AC.CloneParameter();

            // TODO: カーソルキーでの移動距離を可変にする
            if (key == Keys.EnableKeys.Up)
            {
                newParameter.MoveHeight(-1);
            }
            else if (key == Keys.EnableKeys.Down)
            {
                newParameter.MoveHeight(1);
            }
            else if (key == Keys.EnableKeys.Right)
            {
                newParameter.MoveWidth(1);
            }
            else if (key == Keys.EnableKeys.Left)
            {
                newParameter.MoveWidth(-1);
            }

            return(newParameter);
        }