/// <summary> /// Grow or shrink the ActiveRectangle. /// Stop the Tooltip. /// </summary> protected internal override bool OnKeyDownCore(MapKeyEventArgs e) { Point?keyMove = new KeyboardInputToMovementConverter(e.KeyEventArgs.KeyData).GetKeyMove(); if (keyMove.HasValue) { _activeRectangle.Width += keyMove.Value.X; _activeRectangleSize.Width += keyMove.Value.X; _activeRectangleSize.Height -= keyMove.Value.Y; _activeRectangle.Height -= keyMove.Value.Y; return(true); } else { const int step = 5; const int largeStep = 20; switch (e.KeyEventArgs.KeyData) { case Keys.Subtract | Keys.Control: InflateActiveRectangle(-largeStep); return(true); case Keys.Add | Keys.Control: InflateActiveRectangle(largeStep); return(true); case Keys.Add: InflateActiveRectangle(step); return(true); case Keys.Subtract: InflateActiveRectangle(-step); return(true); case Keys.S: _showHelpTooltip = false; return(true); } } return(false); }
/// <summary> /// Handles keypresses on the map /// </summary> protected internal override bool OnKeyDownCore(MapKeyEventArgs e) { if (ActivePolygon != null) { if (e.KeyEventArgs.KeyCode == Keys.Delete) { Delete(ActivePolygon); return(true); } if (!ActivePolygon.Drawing) { var polygonMove = new KeyboardInputToMovementConverter(e.KeyEventArgs.KeyData, 1, 5).GetKeyMove(); if (polygonMove.HasValue) { ActivePolygon.Move(polygonMove.Value); return(true); } } } return(false); }