Added capture last region button to region capture menu

This commit is contained in:
Jaex 2016-11-19 02:36:14 +03:00
parent fadddf7ade
commit 316e9a4388
7 changed files with 48 additions and 10 deletions

View file

@ -46,6 +46,7 @@ public enum RegionResult
{ {
Close, Close,
Region, Region,
LastRegion,
Fullscreen, Fullscreen,
Monitor, Monitor,
ActiveMonitor, ActiveMonitor,

View file

@ -1072,11 +1072,22 @@ public Image GetResultImage()
return img; return img;
} }
else if (Result == RegionResult.Region) else if (Result == RegionResult.Region || Result == RegionResult.LastRegion)
{ {
GraphicsPath gp;
if (Result == RegionResult.LastRegion)
{
gp = LastRegionFillPath;
}
else
{
gp = regionFillPath;
}
using (Image img = GetOutputImage()) using (Image img = GetOutputImage())
{ {
return RegionCaptureTasks.ApplyRegionPathToImage(img, regionFillPath); return RegionCaptureTasks.ApplyRegionPathToImage(img, gp);
} }
} }
else if (Result == RegionResult.Fullscreen) else if (Result == RegionResult.Fullscreen)
@ -1148,15 +1159,19 @@ protected override void Dispose(bool disposing)
if (regionFillPath != null) if (regionFillPath != null)
{ {
if (LastRegionFillPath != null) LastRegionFillPath.Dispose(); if (Result == RegionResult.Region)
LastRegionFillPath = regionFillPath; {
} if (LastRegionFillPath != null) LastRegionFillPath.Dispose();
else
{ LastRegionFillPath = regionFillPath;
if (regionFillPath != null) regionFillPath.Dispose(); }
if (regionDrawPath != null) regionDrawPath.Dispose(); else
{
regionFillPath.Dispose();
}
} }
if (regionDrawPath != null) regionDrawPath.Dispose();
if (Image != null) Image.Dispose(); if (Image != null) Image.Dispose();
base.Dispose(disposing); base.Dispose(disposing);

View file

@ -364,6 +364,16 @@ internal class Resources {
} }
} }
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap layer {
get {
object obj = ResourceManager.GetObject("layer", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap. /// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary> /// </summary>

View file

@ -480,4 +480,7 @@ Distance: {6:0.00} px / Angle: {7:0.00}°</value>
<data name="test_32" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="test_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\test_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="layer" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\layer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

View file

@ -474,7 +474,7 @@ private void CreateToolbar()
tsMain.Items.Add(tsddbCapture); tsMain.Items.Add(tsddbCapture);
tsmiRegionCapture = new ToolStripMenuItem("Capture regions"); tsmiRegionCapture = new ToolStripMenuItem("Capture regions");
tsmiRegionCapture.Image = Resources.layers; tsmiRegionCapture.Image = Resources.layer;
tsmiRegionCapture.MouseDown += (sender, e) => tsmiRegionCapture.MouseDown += (sender, e) =>
{ {
form.UpdateRegionPath(); form.UpdateRegionPath();
@ -482,6 +482,14 @@ private void CreateToolbar()
}; };
tsddbCapture.DropDownItems.Add(tsmiRegionCapture); tsddbCapture.DropDownItems.Add(tsmiRegionCapture);
if (RegionCaptureForm.LastRegionFillPath != null)
{
ToolStripMenuItem tsmiLastRegionCapture = new ToolStripMenuItem("Capture last region");
tsmiLastRegionCapture.Image = Resources.layers;
tsmiLastRegionCapture.MouseDown += (sender, e) => form.Close(RegionResult.LastRegion);
tsddbCapture.DropDownItems.Add(tsmiLastRegionCapture);
}
ToolStripMenuItem tsmiFullscreenCapture = new ToolStripMenuItem(Resources.ShapeManager_CreateContextMenu_Capture_fullscreen); ToolStripMenuItem tsmiFullscreenCapture = new ToolStripMenuItem(Resources.ShapeManager_CreateContextMenu_Capture_fullscreen);
tsmiFullscreenCapture.Image = Resources.layer_fullscreen; tsmiFullscreenCapture.Image = Resources.layer_fullscreen;
tsmiFullscreenCapture.MouseDown += (sender, e) => form.Close(RegionResult.Fullscreen); tsmiFullscreenCapture.MouseDown += (sender, e) => form.Close(RegionResult.Fullscreen);

View file

@ -165,6 +165,7 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Resources\layer.png" />
<None Include="Resources\test_32.png" /> <None Include="Resources\test_32.png" />
<None Include="Resources\layers.png" /> <None Include="Resources\layers.png" />
<None Include="Resources\eraser.png" /> <None Include="Resources\eraser.png" />