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,
Region,
LastRegion,
Fullscreen,
Monitor,
ActiveMonitor,

View file

@ -1072,11 +1072,22 @@ public Image GetResultImage()
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())
{
return RegionCaptureTasks.ApplyRegionPathToImage(img, regionFillPath);
return RegionCaptureTasks.ApplyRegionPathToImage(img, gp);
}
}
else if (Result == RegionResult.Fullscreen)
@ -1148,15 +1159,19 @@ protected override void Dispose(bool disposing)
if (regionFillPath != null)
{
if (LastRegionFillPath != null) LastRegionFillPath.Dispose();
LastRegionFillPath = regionFillPath;
}
else
{
if (regionFillPath != null) regionFillPath.Dispose();
if (regionDrawPath != null) regionDrawPath.Dispose();
if (Result == RegionResult.Region)
{
if (LastRegionFillPath != null) LastRegionFillPath.Dispose();
LastRegionFillPath = regionFillPath;
}
else
{
regionFillPath.Dispose();
}
}
if (regionDrawPath != null) regionDrawPath.Dispose();
if (Image != null) Image.Dispose();
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>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </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">
<value>..\Resources\test_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

View file

@ -474,7 +474,7 @@ private void CreateToolbar()
tsMain.Items.Add(tsddbCapture);
tsmiRegionCapture = new ToolStripMenuItem("Capture regions");
tsmiRegionCapture.Image = Resources.layers;
tsmiRegionCapture.Image = Resources.layer;
tsmiRegionCapture.MouseDown += (sender, e) =>
{
form.UpdateRegionPath();
@ -482,6 +482,14 @@ private void CreateToolbar()
};
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);
tsmiFullscreenCapture.Image = Resources.layer_fullscreen;
tsmiFullscreenCapture.MouseDown += (sender, e) => form.Close(RegionResult.Fullscreen);

View file

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