mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
Use Move to shift all shapes, override move method to move speech balloon tail
This commit is contained in:
parent
30ee623852
commit
e4d388c61f
2 changed files with 32 additions and 28 deletions
|
@ -195,36 +195,33 @@ public void Prepare(Image img)
|
|||
backgroundBrush = new TextureBrush(Image) { WrapMode = WrapMode.Clamp };
|
||||
}
|
||||
|
||||
if (Config != null)
|
||||
ShapeManager = new ShapeManager(this);
|
||||
ShapeManager.WindowCaptureMode = Config.DetectWindows;
|
||||
ShapeManager.IncludeControls = Config.DetectControls;
|
||||
|
||||
if (IsAnnotationMode)
|
||||
{
|
||||
ShapeManager = new ShapeManager(this);
|
||||
ShapeManager.WindowCaptureMode = Config.DetectWindows;
|
||||
ShapeManager.IncludeControls = Config.DetectControls;
|
||||
ShapeManager.CurrentShapeTypeChanged += ShapeManager_CurrentShapeTypeChanged;
|
||||
|
||||
if (IsAnnotationMode)
|
||||
ShapeManager_CurrentShapeTypeChanged(ShapeManager.CurrentShapeType);
|
||||
}
|
||||
|
||||
if (Mode == RegionCaptureMode.OneClick || ShapeManager.WindowCaptureMode)
|
||||
{
|
||||
IntPtr handle = Handle;
|
||||
|
||||
TaskEx.Run(() =>
|
||||
{
|
||||
ShapeManager.CurrentShapeTypeChanged += ShapeManager_CurrentShapeTypeChanged;
|
||||
WindowsRectangleList wla = new WindowsRectangleList();
|
||||
wla.IgnoreHandle = handle;
|
||||
wla.IncludeChildWindows = ShapeManager.IncludeControls;
|
||||
ShapeManager.Windows = wla.GetWindowInfoListAsync(5000);
|
||||
});
|
||||
}
|
||||
|
||||
ShapeManager_CurrentShapeTypeChanged(ShapeManager.CurrentShapeType);
|
||||
}
|
||||
|
||||
if (Mode == RegionCaptureMode.OneClick || ShapeManager.WindowCaptureMode)
|
||||
{
|
||||
IntPtr handle = Handle;
|
||||
|
||||
TaskEx.Run(() =>
|
||||
{
|
||||
WindowsRectangleList wla = new WindowsRectangleList();
|
||||
wla.IgnoreHandle = handle;
|
||||
wla.IncludeChildWindows = ShapeManager.IncludeControls;
|
||||
ShapeManager.Windows = wla.GetWindowInfoListAsync(5000);
|
||||
});
|
||||
}
|
||||
|
||||
if (Config.UseCustomInfoText || Mode == RegionCaptureMode.ScreenColorPicker)
|
||||
{
|
||||
bmpBackgroundImage = new Bitmap(Image);
|
||||
}
|
||||
if (Config.UseCustomInfoText || Mode == RegionCaptureMode.ScreenColorPicker)
|
||||
{
|
||||
bmpBackgroundImage = new Bitmap(Image);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1096,7 +1093,7 @@ public Image GetResultImage()
|
|||
{
|
||||
foreach (BaseShape shape in ShapeManager.Shapes)
|
||||
{
|
||||
shape.Rectangle = new Rectangle(shape.Rectangle.X - ImageRectangle.X, shape.Rectangle.Y - ImageRectangle.Y, shape.Rectangle.Width, shape.Rectangle.Height);
|
||||
shape.Move(-ImageRectangle.X, -ImageRectangle.Y);
|
||||
}
|
||||
|
||||
return GetOutputImage();
|
||||
|
|
|
@ -60,7 +60,7 @@ public override void OnCreated()
|
|||
{
|
||||
base.OnCreated();
|
||||
|
||||
TailPosition = Rectangle.Location.Add(-30, -30);
|
||||
TailPosition = Rectangle.Location.Add(0, Rectangle.Height + 30);
|
||||
}
|
||||
|
||||
public override void OnNodeVisible()
|
||||
|
@ -82,6 +82,13 @@ public override void OnNodeUpdate()
|
|||
}
|
||||
}
|
||||
|
||||
public override void Move(int x, int y)
|
||||
{
|
||||
base.Move(x, y);
|
||||
|
||||
TailPosition = TailPosition.Add(x, y);
|
||||
}
|
||||
|
||||
public override void OnDraw(Graphics g)
|
||||
{
|
||||
if (Rectangle.Width > 10 && Rectangle.Height > 10)
|
||||
|
|
Loading…
Reference in a new issue