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(); } }
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); }
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); }