mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-04 04:06:05 +13:00
Only allow hovering currently selected type of shapes, deselect selection on shape type change
This commit is contained in:
parent
09fdffc32d
commit
c69ca8cab7
1 changed files with 22 additions and 10 deletions
|
@ -181,25 +181,25 @@ private void surface_KeyDown(object sender, KeyEventArgs e)
|
|||
IsSnapResizing = true;
|
||||
break;
|
||||
case Keys.NumPad1:
|
||||
CurrentShapeType = ShapeType.RegionRectangle;
|
||||
ChangeCurrentShapeType(ShapeType.RegionRectangle);
|
||||
break;
|
||||
case Keys.NumPad2:
|
||||
CurrentShapeType = ShapeType.RegionRoundedRectangle;
|
||||
ChangeCurrentShapeType(ShapeType.RegionRoundedRectangle);
|
||||
break;
|
||||
case Keys.NumPad3:
|
||||
CurrentShapeType = ShapeType.RegionEllipse;
|
||||
ChangeCurrentShapeType(ShapeType.RegionEllipse);
|
||||
break;
|
||||
case Keys.NumPad4:
|
||||
CurrentShapeType = ShapeType.RegionTriangle;
|
||||
ChangeCurrentShapeType(ShapeType.RegionTriangle);
|
||||
break;
|
||||
case Keys.NumPad5:
|
||||
CurrentShapeType = ShapeType.RegionDiamond;
|
||||
ChangeCurrentShapeType(ShapeType.RegionDiamond);
|
||||
break;
|
||||
case Keys.NumPad7:
|
||||
CurrentShapeType = ShapeType.DrawingRectangle;
|
||||
ChangeCurrentShapeType(ShapeType.DrawingRectangle);
|
||||
break;
|
||||
case Keys.NumPad8:
|
||||
CurrentShapeType = ShapeType.DrawingRoundedRectangle;
|
||||
ChangeCurrentShapeType(ShapeType.DrawingRoundedRectangle);
|
||||
break;
|
||||
case Keys.Add:
|
||||
switch (CurrentShapeType)
|
||||
|
@ -244,6 +244,13 @@ private void surface_KeyDown(object sender, KeyEventArgs e)
|
|||
}
|
||||
}
|
||||
|
||||
private void ChangeCurrentShapeType(ShapeType shapeType)
|
||||
{
|
||||
CurrentShapeType = shapeType;
|
||||
surface.Config.CurrentShapeType = shapeType;
|
||||
DeselectArea();
|
||||
}
|
||||
|
||||
private void UpdateRoundedRectangle()
|
||||
{
|
||||
if (CurrentShape != null)
|
||||
|
@ -560,7 +567,10 @@ public BaseShape CreateRegionShape(Rectangle rect)
|
|||
shape = new RectangleDrawingShape();
|
||||
break;
|
||||
case ShapeType.DrawingRoundedRectangle:
|
||||
shape = new RoundedRectangleDrawingShape();
|
||||
shape = new RoundedRectangleDrawingShape()
|
||||
{
|
||||
Radius = RoundedRectangleRadius
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -603,9 +613,11 @@ public BaseShape AreaIntersect(Point mousePosition)
|
|||
{
|
||||
for (int i = Shapes.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (Shapes[i].Rectangle.Contains(mousePosition))
|
||||
BaseShape shape = Shapes[i];
|
||||
|
||||
if (shape.ShapeType == CurrentShapeType && shape.Rectangle.Contains(mousePosition))
|
||||
{
|
||||
return Shapes[i];
|
||||
return shape;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue