mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Added RectangleInsideCanvas property
This commit is contained in:
parent
147a4efac7
commit
18cbe0b72c
4 changed files with 9 additions and 7 deletions
|
@ -41,6 +41,10 @@ public abstract class BaseShape : IDisposable
|
|||
|
||||
public Rectangle Rectangle { get; set; }
|
||||
|
||||
public Rectangle RectangleInsideCanvas => Manager.LimitRectangleToCanvas(Rectangle);
|
||||
|
||||
public bool IsInsideCanvas => !RectangleInsideCanvas.IsEmpty;
|
||||
|
||||
private Point startPosition;
|
||||
|
||||
public Point StartPosition
|
||||
|
|
|
@ -35,8 +35,7 @@ public override void OnDraw(Graphics g)
|
|||
{
|
||||
if (IsValidShape)
|
||||
{
|
||||
Rectangle rect = Manager.LimitRectangleToImage(Rectangle);
|
||||
Manager.DrawRegionArea(g, rect, true);
|
||||
Manager.DrawRegionArea(g, RectangleInsideCanvas, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +43,7 @@ public override void OnCreated()
|
|||
{
|
||||
if (IsValidShape)
|
||||
{
|
||||
Rectangle = Manager.LimitRectangleToImage(Rectangle);
|
||||
Rectangle = RectangleInsideCanvas;
|
||||
Manager.CropArea(Rectangle);
|
||||
}
|
||||
|
||||
|
|
|
@ -40,8 +40,7 @@ public override void OnDraw(Graphics g)
|
|||
{
|
||||
if (IsValidShape)
|
||||
{
|
||||
Rectangle rect = Manager.LimitRectangleToImage(Rectangle);
|
||||
Manager.DrawRegionArea(g, rect, true);
|
||||
Manager.DrawRegionArea(g, RectangleInsideCanvas, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -73,7 +72,7 @@ public override void OnCreated()
|
|||
{
|
||||
if (IsValidShape)
|
||||
{
|
||||
Rectangle = Manager.LimitRectangleToImage(Rectangle);
|
||||
Rectangle = RectangleInsideCanvas;
|
||||
Image = Manager.CropImage(Rectangle);
|
||||
}
|
||||
|
||||
|
|
|
@ -1309,7 +1309,7 @@ public void AddCursor(IntPtr cursorHandle, Point position)
|
|||
Shapes.Add(shape);
|
||||
}
|
||||
|
||||
public Rectangle LimitRectangleToImage(Rectangle rect)
|
||||
public Rectangle LimitRectangleToCanvas(Rectangle rect)
|
||||
{
|
||||
return Rectangle.Intersect(rect, Form.CanvasRectangle);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue