mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-08 17:42:31 +02:00
v0.6.1.0
* (Add) Thumbnail image can now saved to clipboard * (Add) Setting to allow choose default file extension at load file dialog * (Add) Double click middle mouse to zoom to fit to image * (Add) Move mutator to move print volume around the plate * (Add) Pattern tool * (Change) Setting window now have tabs to compact the window height * (Fix) Progress for mutators always show layer count instead of selected range
This commit is contained in:
@@ -1,5 +1,15 @@
|
||||
# Changelog
|
||||
|
||||
## 02/07/2020 - v0.6.1.0
|
||||
|
||||
* (Add) Thumbnail image can now saved to clipboard
|
||||
* (Add) Setting to allow choose default file extension at load file dialog
|
||||
* (Add) Double click middle mouse to zoom to fit to image
|
||||
* (Add) Move mutator to move print volume around the plate
|
||||
* (Add) Pattern tool
|
||||
* (Change) Setting window now have tabs to compact the window height
|
||||
* (Fix) Progress for mutators always show layer count instead of selected range
|
||||
|
||||
## 01/07/2020 - v0.6.0.2
|
||||
|
||||
* (Add) PrusaSlicer Printer "EPAX X10 4K Mono"
|
||||
|
||||
@@ -44,6 +44,21 @@ namespace UVtools.Core.Extensions
|
||||
//return mat.GetPixelSpan<T>().Slice(offset, mat.Step);
|
||||
}
|
||||
|
||||
public static void Transform(this Mat src, double xScale, double yScale, double xTrans = 0, double yTrans = 0, Inter interpolation = Inter.Linear)
|
||||
{
|
||||
//var dst = new Mat(src.Size, src.Depth, src.NumberOfChannels);
|
||||
using (var translateTransform = new Matrix<double>(2, 3)
|
||||
{
|
||||
[0, 0] = xScale, // xScale
|
||||
[1, 1] = yScale, // yScale
|
||||
[0, 2] = xTrans, //x translation + compensation of x scaling
|
||||
[1, 2] = yTrans // y translation + compensation of y scaling
|
||||
})
|
||||
{
|
||||
CvInvoke.WarpAffine(src, src, translateTransform, src.Size, interpolation);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scale image from it center, preserving src bounds
|
||||
/// https://stackoverflow.com/a/62543674/933976
|
||||
@@ -56,7 +71,10 @@ namespace UVtools.Core.Extensions
|
||||
/// <param name="interpolation">Interpolation mode</param>
|
||||
public static void TransformFromCenter(this Mat src, double xScale, double yScale, double xTrans = 0, double yTrans = 0, Inter interpolation = Inter.Linear)
|
||||
{
|
||||
//var dst = new Mat(src.Size, src.Depth, src.NumberOfChannels);
|
||||
src.Transform(xScale, yScale,
|
||||
xTrans + (src.Width - src.Width * xScale) / 2.0,
|
||||
yTrans + (src.Height - src.Height * yScale) / 2.0, interpolation);
|
||||
/*//var dst = new Mat(src.Size, src.Depth, src.NumberOfChannels);
|
||||
using (var translateTransform = new Matrix<double>(2, 3)
|
||||
{
|
||||
[0, 0] = xScale, // xScale
|
||||
@@ -66,7 +84,7 @@ namespace UVtools.Core.Extensions
|
||||
})
|
||||
{
|
||||
CvInvoke.WarpAffine(src, src, translateTransform, src.Size, interpolation);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -12,6 +12,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Emgu.CV;
|
||||
@@ -138,19 +139,21 @@ namespace UVtools.Core
|
||||
new ImageFile(), // images
|
||||
};
|
||||
|
||||
public static string AllSlicerFiles => AvaliableFormats.Aggregate("All slicer files|",
|
||||
(current, fileFormat) => current.EndsWith("|")
|
||||
? $"{current}{fileFormat.FileFilterExtensionsOnly}"
|
||||
: $"{current}; {fileFormat.FileFilterExtensionsOnly}");
|
||||
|
||||
/// <summary>
|
||||
/// Gets all filters for open and save file dialogs
|
||||
/// </summary>
|
||||
public static string AllFileFilters =>
|
||||
AvaliableFormats.Aggregate(string.Empty,
|
||||
(current, fileFormat) => string.IsNullOrEmpty(current)
|
||||
? fileFormat.FileFilter
|
||||
: $"{current}|" + fileFormat.FileFilter)
|
||||
AllSlicerFiles
|
||||
+
|
||||
AvaliableFormats.Aggregate("|All slicer files|",
|
||||
(current, fileFormat) => current.EndsWith("|")
|
||||
? $"{current}{fileFormat.FileFilterExtensionsOnly}"
|
||||
: $"{current};{fileFormat.FileFilterExtensionsOnly}");
|
||||
AvaliableFormats.Aggregate(string.Empty,
|
||||
(current, fileFormat) => $"{current}|" + fileFormat.FileFilter);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the count of available file extensions
|
||||
@@ -224,7 +227,7 @@ namespace UVtools.Core
|
||||
{
|
||||
if (!ReferenceEquals(result, string.Empty))
|
||||
{
|
||||
result += ';';
|
||||
result += "; ";
|
||||
}
|
||||
result += $"*.{fileExt.Extension}";
|
||||
}
|
||||
|
||||
+113
-14
@@ -683,6 +683,29 @@ namespace UVtools.Core
|
||||
return result;
|
||||
}
|
||||
|
||||
public void MutateMove(OperationMove move)
|
||||
{
|
||||
using (var layer = LayerMat)
|
||||
{
|
||||
if (move.ImageWidth == 0) move.ImageWidth = (uint) layer.Width;
|
||||
if (move.ImageHeight == 0) move.ImageHeight = (uint) layer.Height;
|
||||
|
||||
/*layer.Transform(1.0, 1.0, move.MarginLeft - move.MarginRight, move.MarginTop-move.MarginBottom);
|
||||
LayerMat = layer;*/
|
||||
using (var layerRoi = new Mat(layer, move.SrcRoi))
|
||||
{
|
||||
using (var dstLayer = layer.CloneBlank())
|
||||
{
|
||||
using (var dstRoi = new Mat(dstLayer, move.DstRoi))
|
||||
{
|
||||
layerRoi.CopyTo(dstRoi);
|
||||
LayerMat = dstLayer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void MutateResize(double xScale, double yScale)
|
||||
{
|
||||
@@ -880,6 +903,31 @@ namespace UVtools.Core
|
||||
}
|
||||
}
|
||||
|
||||
public void ToolPattern(OperationPattern settings)
|
||||
{
|
||||
using (var layer = LayerMat)
|
||||
{
|
||||
using (var layerRoi = new Mat(layer, settings.SrcRoi))
|
||||
{
|
||||
using (var dstLayer = layer.CloneBlank())
|
||||
{
|
||||
for (ushort col = 0; col < settings.Cols; col++)
|
||||
{
|
||||
for (ushort row = 0; row < settings.Rows; row++)
|
||||
{
|
||||
using (var dstRoi = new Mat(dstLayer, settings.GetRoi(col, row)))
|
||||
{
|
||||
layerRoi.CopyTo(dstRoi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LayerMat = dstLayer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Layer Clone()
|
||||
@@ -890,7 +938,6 @@ namespace UVtools.Core
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -900,6 +947,7 @@ namespace UVtools.Core
|
||||
#region Enums
|
||||
public enum Mutate : byte
|
||||
{
|
||||
Move,
|
||||
Resize,
|
||||
Flip,
|
||||
Rotate,
|
||||
@@ -1112,6 +1160,32 @@ namespace UVtools.Core
|
||||
return Layers[index];
|
||||
}
|
||||
|
||||
public void MutateMove(uint startLayerIndex, uint endLayerIndex, OperationMove move, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Moving", endLayerIndex - startLayerIndex + 1);
|
||||
|
||||
if (move.SrcRoi == Rectangle.Empty) move.SrcRoi = GetBoundingRectangle(progress);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
|
||||
this[layerIndex].MutateMove(move);
|
||||
|
||||
lock (progress.Mutex)
|
||||
{
|
||||
progress++;
|
||||
}
|
||||
});
|
||||
|
||||
_boundingRectangle = Rectangle.Empty;
|
||||
|
||||
progress.Token.ThrowIfCancellationRequested();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resizes layer images in x and y factor, starting at 1 = 100%
|
||||
/// </summary>
|
||||
@@ -1125,7 +1199,7 @@ namespace UVtools.Core
|
||||
if (x == 1.0 && y == 1.0) return;
|
||||
|
||||
if(ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Resizing", Count);
|
||||
progress.Reset("Resizing", endLayerIndex - startLayerIndex + 1);
|
||||
|
||||
double xSteps = Math.Abs(x - 1.0) / (endLayerIndex - startLayerIndex);
|
||||
double ySteps = Math.Abs(y - 1.0) / (endLayerIndex - startLayerIndex);
|
||||
@@ -1179,7 +1253,7 @@ namespace UVtools.Core
|
||||
public void MutateFlip(uint startLayerIndex, uint endLayerIndex, FlipType flipType, bool makeCopy = false, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Fliping", Count);
|
||||
progress.Reset("Fliping", endLayerIndex - startLayerIndex + 1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1195,7 +1269,7 @@ namespace UVtools.Core
|
||||
public void MutateRotate(uint startLayerIndex, uint endLayerIndex, double angle, Inter interpolation = Inter.Linear, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Rotating", Count);
|
||||
progress.Reset("Rotating", endLayerIndex - startLayerIndex+1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1211,7 +1285,7 @@ namespace UVtools.Core
|
||||
public void MutateSolidify(uint startLayerIndex, uint endLayerIndex, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Solidifing", Count);
|
||||
progress.Reset("Solidifing", endLayerIndex - startLayerIndex+1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1261,7 +1335,7 @@ namespace UVtools.Core
|
||||
);
|
||||
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Eroding", Count);
|
||||
progress.Reset("Eroding", endLayerIndex - startLayerIndex+1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
@@ -1291,7 +1365,7 @@ namespace UVtools.Core
|
||||
);
|
||||
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Dilating", Count);
|
||||
progress.Reset("Dilating", endLayerIndex - startLayerIndex+1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
@@ -1321,7 +1395,7 @@ namespace UVtools.Core
|
||||
);
|
||||
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Removing Noise", Count);
|
||||
progress.Reset("Removing Noise", endLayerIndex - startLayerIndex+1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
@@ -1351,7 +1425,7 @@ namespace UVtools.Core
|
||||
);
|
||||
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Gap Closing", Count);
|
||||
progress.Reset("Gap Closing", endLayerIndex - startLayerIndex+1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
@@ -1381,7 +1455,7 @@ namespace UVtools.Core
|
||||
);
|
||||
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Gradient", Count);
|
||||
progress.Reset("Gradient", endLayerIndex - startLayerIndex+1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
@@ -1399,7 +1473,7 @@ namespace UVtools.Core
|
||||
public void MutatePyrDownUp(uint startLayerIndex, uint endLayerIndex, BorderType borderType = BorderType.Default, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("PryDownUp", Count);
|
||||
progress.Reset("PryDownUp", endLayerIndex - startLayerIndex+1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1415,7 +1489,7 @@ namespace UVtools.Core
|
||||
public void MutateMedianBlur(uint startLayerIndex, uint endLayerIndex, int aperture = 1, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Bluring", Count);
|
||||
progress.Reset("Bluring", endLayerIndex - startLayerIndex+1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1431,7 +1505,7 @@ namespace UVtools.Core
|
||||
public void MutateGaussianBlur(uint startLayerIndex, uint endLayerIndex, Size size = default, int sigmaX = 0, int sigmaY = 0, BorderType borderType = BorderType.Reflect101, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Bluring", Count);
|
||||
progress.Reset("Bluring", endLayerIndex - startLayerIndex+1);
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
@@ -1948,6 +2022,32 @@ namespace UVtools.Core
|
||||
progress.Token.ThrowIfCancellationRequested();
|
||||
}
|
||||
|
||||
public void ToolPattern(uint startLayerIndex, uint endLayerIndex, OperationPattern settings, OperationProgress progress = null)
|
||||
{
|
||||
if (ReferenceEquals(progress, null)) progress = new OperationProgress();
|
||||
progress.Reset("Pattern", endLayerIndex - startLayerIndex + 1);
|
||||
|
||||
Parallel.For(startLayerIndex, endLayerIndex + 1, layerIndex =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
|
||||
this[layerIndex].ToolPattern(settings);
|
||||
|
||||
lock (progress.Mutex)
|
||||
{
|
||||
progress++;
|
||||
}
|
||||
});
|
||||
|
||||
_boundingRectangle = Rectangle.Empty;
|
||||
|
||||
progress.Token.ThrowIfCancellationRequested();
|
||||
|
||||
if (settings.Anchor == Anchor.None) return;
|
||||
MutateMove(startLayerIndex, endLayerIndex, new OperationMove(BoundingRectangle, 0, 0, settings.Anchor), progress);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desmodify all layers
|
||||
/// </summary>
|
||||
@@ -1976,7 +2076,6 @@ namespace UVtools.Core
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
|
||||
namespace UVtools.Core
|
||||
{
|
||||
public enum Anchor : byte
|
||||
{
|
||||
TopLeft, TopCenter, TopRight,
|
||||
MiddleLeft, MiddleCenter, MiddleRight,
|
||||
BottomLeft, BottomCenter, BottomRight,
|
||||
None
|
||||
}
|
||||
|
||||
public class OperationMove
|
||||
{
|
||||
public Rectangle SrcRoi { get; set; }
|
||||
|
||||
private Rectangle _dstRoi = Rectangle.Empty;
|
||||
public Rectangle DstRoi
|
||||
{
|
||||
get
|
||||
{
|
||||
if(!_dstRoi.IsEmpty) return _dstRoi;
|
||||
CalculateDstRoi();
|
||||
|
||||
return _dstRoi;
|
||||
}
|
||||
}
|
||||
|
||||
public void CalculateDstRoi()
|
||||
{
|
||||
_dstRoi.Size = SrcRoi.Size;
|
||||
|
||||
switch (Anchor)
|
||||
{
|
||||
case Anchor.TopLeft:
|
||||
_dstRoi.Location = new Point(0, 0);
|
||||
break;
|
||||
case Anchor.TopCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), 0);
|
||||
break;
|
||||
case Anchor.TopRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), 0);
|
||||
break;
|
||||
case Anchor.MiddleLeft:
|
||||
_dstRoi.Location = new Point(0, (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.MiddleCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.MiddleRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.BottomLeft:
|
||||
_dstRoi.Location = new Point(0, (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
case Anchor.BottomCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
case Anchor.BottomRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
|
||||
_dstRoi.X += MarginLeft;
|
||||
_dstRoi.X -= MarginRight;
|
||||
_dstRoi.Y += MarginTop;
|
||||
_dstRoi.Y -= MarginBottom;
|
||||
}
|
||||
|
||||
|
||||
public uint ImageWidth { get; set; }
|
||||
public uint ImageHeight { get; set; }
|
||||
|
||||
public Anchor Anchor { get; set; }
|
||||
|
||||
public int MarginLeft { get; set; } = 0;
|
||||
public int MarginTop { get; set; } = 0;
|
||||
public int MarginRight { get; set; } = 0;
|
||||
public int MarginBottom { get; set; } = 0;
|
||||
|
||||
public OperationMove(Rectangle srcRoi, uint imageWidth = 0, uint imageHeight = 0, Anchor anchor = Anchor.MiddleCenter)
|
||||
{
|
||||
SrcRoi = srcRoi;
|
||||
ImageWidth = imageWidth;
|
||||
ImageHeight = imageHeight;
|
||||
Anchor = anchor;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
using System.Drawing;
|
||||
|
||||
namespace UVtools.Core
|
||||
{
|
||||
public class OperationPattern
|
||||
{
|
||||
public Anchor Anchor { get; set; }
|
||||
public Rectangle SrcRoi { get; }
|
||||
|
||||
public uint ImageWidth { get; }
|
||||
public uint ImageHeight { get; }
|
||||
|
||||
public ushort MarginCol { get; set; } = 0;
|
||||
public ushort MarginRow { get; set; } = 0;
|
||||
|
||||
public ushort MaxMarginCol => CalculateMarginCol(MaxCols);
|
||||
public ushort MaxMarginRow => CalculateMarginRow(MaxRows);
|
||||
|
||||
public ushort Cols { get; set; } = 1;
|
||||
public ushort Rows { get; set; } = 1;
|
||||
|
||||
public ushort MaxCols { get; }
|
||||
public ushort MaxRows { get; }
|
||||
|
||||
|
||||
public OperationPattern(Rectangle srcRoi, uint imageWidth, uint imageHeight)
|
||||
{
|
||||
SrcRoi = srcRoi;
|
||||
ImageWidth = imageWidth;
|
||||
ImageHeight = imageHeight;
|
||||
|
||||
MaxCols = (ushort) (imageWidth / srcRoi.Width);
|
||||
MaxRows = (ushort) (imageHeight / srcRoi.Height);
|
||||
}
|
||||
|
||||
|
||||
/*public void CalculateDstRoi()
|
||||
{
|
||||
_dstRoi.Size = SrcRoi.Size;
|
||||
|
||||
switch (Anchor)
|
||||
{
|
||||
case Anchor.TopLeft:
|
||||
_dstRoi.Location = new Point(0, 0);
|
||||
break;
|
||||
case Anchor.TopCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), 0);
|
||||
break;
|
||||
case Anchor.TopRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), 0);
|
||||
break;
|
||||
case Anchor.MiddleLeft:
|
||||
_dstRoi.Location = new Point(0, (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.MiddleCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.MiddleRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), (int)(ImageHeight / 2 - SrcRoi.Height / 2));
|
||||
break;
|
||||
case Anchor.BottomLeft:
|
||||
_dstRoi.Location = new Point(0, (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
case Anchor.BottomCenter:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth / 2 - SrcRoi.Width / 2), (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
case Anchor.BottomRight:
|
||||
_dstRoi.Location = new Point((int)(ImageWidth - SrcRoi.Width), (int)(ImageHeight - SrcRoi.Height));
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
|
||||
_dstRoi.X += MarginLeft;
|
||||
_dstRoi.X -= MarginRight;
|
||||
_dstRoi.Y += MarginTop;
|
||||
_dstRoi.Y -= MarginBottom;
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Fills the plate with maximum cols and rows
|
||||
/// </summary>
|
||||
public void Fill()
|
||||
{
|
||||
Cols = MaxCols;
|
||||
MarginCol = MaxMarginCol;
|
||||
|
||||
Rows = MaxRows;
|
||||
MarginRow = MaxMarginRow;
|
||||
}
|
||||
|
||||
public ushort CalculateMarginCol(ushort cols)
|
||||
{
|
||||
return (ushort)((ImageWidth - SrcRoi.Width * cols) / cols);
|
||||
}
|
||||
|
||||
public ushort CalculateMarginRow(ushort rows)
|
||||
{
|
||||
return (ushort)((ImageHeight - SrcRoi.Height * rows) / rows);
|
||||
}
|
||||
|
||||
public Size CalculatePatternVolume => new Size(Cols * SrcRoi.Width + Cols * MarginCol, Rows * SrcRoi.Height + Rows * MarginRow);
|
||||
|
||||
public Rectangle GetRoi(ushort col, ushort row)
|
||||
{
|
||||
var patternVolume = CalculatePatternVolume;
|
||||
|
||||
return new Rectangle(new Point(
|
||||
(int) (col * SrcRoi.Width + col * MarginCol + (ImageWidth - patternVolume.Width) / 2),
|
||||
(int) (row * SrcRoi.Height + row * MarginRow + (ImageHeight - patternVolume.Height) / 2)), SrcRoi.Size);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
<RepositoryUrl>https://github.com/sn4k3/UVtools</RepositoryUrl>
|
||||
<PackageProjectUrl>https://github.com/sn4k3/UVtools</PackageProjectUrl>
|
||||
<Description>MSLA/DLP, file analysis, repair, conversion and manipulation</Description>
|
||||
<Version>0.6.0.2</Version>
|
||||
<Version>0.6.1.0</Version>
|
||||
<Copyright>Copyright © 2020 PTRTECH</Copyright>
|
||||
<PackageIcon>UVtools.png</PackageIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -135,6 +135,9 @@
|
||||
<setting name="IslandBinaryThreshold" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="DefaultOpenFileExtension" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</UVtools.GUI.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
||||
+1
@@ -343,6 +343,7 @@ namespace UVtools.GUI.Forms
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMutation";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Form1";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.numIterationsStart)).EndInit();
|
||||
|
||||
+641
@@ -0,0 +1,641 @@
|
||||
using UVtools.GUI.Controls;
|
||||
|
||||
namespace UVtools.GUI.Forms
|
||||
{
|
||||
partial class FrmMutationMove
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.lbDescription = new System.Windows.Forms.Label();
|
||||
this.lbLayerRange = new System.Windows.Forms.Label();
|
||||
this.nmLayerRangeStart = new System.Windows.Forms.NumericUpDown();
|
||||
this.nmLayerRangeEnd = new System.Windows.Forms.NumericUpDown();
|
||||
this.lbLayerRangeTo = new System.Windows.Forms.Label();
|
||||
this.cmLayerRange = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.btnLayerRangeAllLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeCurrentLayer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeBottomLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeNormalLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnMutate = new System.Windows.Forms.Button();
|
||||
this.tableAnchor = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.rbAnchorBottomLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorBottomCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorBottomRight = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleRight = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopRight = new System.Windows.Forms.RadioButton();
|
||||
this.nmMarginTop = new System.Windows.Forms.NumericUpDown();
|
||||
this.nmMarginBottom = new System.Windows.Forms.NumericUpDown();
|
||||
this.nmMarginRight = new System.Windows.Forms.NumericUpDown();
|
||||
this.nmMarginLeft = new System.Windows.Forms.NumericUpDown();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.lbInsideBounds = new System.Windows.Forms.Label();
|
||||
this.lbPlacementY = new System.Windows.Forms.Label();
|
||||
this.lbPlacementX = new System.Windows.Forms.Label();
|
||||
this.lbVolumeHeight = new System.Windows.Forms.Label();
|
||||
this.lbVolumeWidth = new System.Windows.Forms.Label();
|
||||
this.btnResetDefaults = new System.Windows.Forms.Button();
|
||||
this.btnLayerRangeSelect = new UVtools.GUI.Controls.SplitButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeEnd)).BeginInit();
|
||||
this.cmLayerRange.SuspendLayout();
|
||||
this.tableAnchor.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginTop)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginBottom)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginRight)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginLeft)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lbDescription
|
||||
//
|
||||
this.lbDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lbDescription.Location = new System.Drawing.Point(13, 14);
|
||||
this.lbDescription.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbDescription.Name = "lbDescription";
|
||||
this.lbDescription.Size = new System.Drawing.Size(584, 128);
|
||||
this.lbDescription.TabIndex = 0;
|
||||
this.lbDescription.Text = "Description";
|
||||
//
|
||||
// lbLayerRange
|
||||
//
|
||||
this.lbLayerRange.AutoSize = true;
|
||||
this.lbLayerRange.Location = new System.Drawing.Point(13, 150);
|
||||
this.lbLayerRange.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbLayerRange.Name = "lbLayerRange";
|
||||
this.lbLayerRange.Size = new System.Drawing.Size(97, 20);
|
||||
this.lbLayerRange.TabIndex = 9;
|
||||
this.lbLayerRange.Text = "Layer range:";
|
||||
//
|
||||
// nmLayerRangeStart
|
||||
//
|
||||
this.nmLayerRangeStart.Location = new System.Drawing.Point(118, 147);
|
||||
this.nmLayerRangeStart.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nmLayerRangeStart.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmLayerRangeStart.Name = "nmLayerRangeStart";
|
||||
this.nmLayerRangeStart.Size = new System.Drawing.Size(120, 26);
|
||||
this.nmLayerRangeStart.TabIndex = 0;
|
||||
//
|
||||
// nmLayerRangeEnd
|
||||
//
|
||||
this.nmLayerRangeEnd.Location = new System.Drawing.Point(314, 147);
|
||||
this.nmLayerRangeEnd.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nmLayerRangeEnd.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmLayerRangeEnd.Name = "nmLayerRangeEnd";
|
||||
this.nmLayerRangeEnd.Size = new System.Drawing.Size(120, 26);
|
||||
this.nmLayerRangeEnd.TabIndex = 1;
|
||||
//
|
||||
// lbLayerRangeTo
|
||||
//
|
||||
this.lbLayerRangeTo.AutoSize = true;
|
||||
this.lbLayerRangeTo.Location = new System.Drawing.Point(275, 150);
|
||||
this.lbLayerRangeTo.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbLayerRangeTo.Name = "lbLayerRangeTo";
|
||||
this.lbLayerRangeTo.Size = new System.Drawing.Size(31, 20);
|
||||
this.lbLayerRangeTo.TabIndex = 12;
|
||||
this.lbLayerRangeTo.Text = "To:";
|
||||
//
|
||||
// cmLayerRange
|
||||
//
|
||||
this.cmLayerRange.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.btnLayerRangeAllLayers,
|
||||
this.btnLayerRangeCurrentLayer,
|
||||
this.btnLayerRangeBottomLayers,
|
||||
this.btnLayerRangeNormalLayers});
|
||||
this.cmLayerRange.Name = "cmLayerRange";
|
||||
this.cmLayerRange.Size = new System.Drawing.Size(226, 92);
|
||||
//
|
||||
// btnLayerRangeAllLayers
|
||||
//
|
||||
this.btnLayerRangeAllLayers.Name = "btnLayerRangeAllLayers";
|
||||
this.btnLayerRangeAllLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.A)));
|
||||
this.btnLayerRangeAllLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeAllLayers.Text = "&All Layers";
|
||||
this.btnLayerRangeAllLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeCurrentLayer
|
||||
//
|
||||
this.btnLayerRangeCurrentLayer.Name = "btnLayerRangeCurrentLayer";
|
||||
this.btnLayerRangeCurrentLayer.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.C)));
|
||||
this.btnLayerRangeCurrentLayer.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeCurrentLayer.Text = "&Current Layer";
|
||||
this.btnLayerRangeCurrentLayer.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeBottomLayers
|
||||
//
|
||||
this.btnLayerRangeBottomLayers.Name = "btnLayerRangeBottomLayers";
|
||||
this.btnLayerRangeBottomLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.B)));
|
||||
this.btnLayerRangeBottomLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeBottomLayers.Text = "&Bottom Layers";
|
||||
this.btnLayerRangeBottomLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeNormalLayers
|
||||
//
|
||||
this.btnLayerRangeNormalLayers.Name = "btnLayerRangeNormalLayers";
|
||||
this.btnLayerRangeNormalLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.N)));
|
||||
this.btnLayerRangeNormalLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeNormalLayers.Text = "&Normal Layers";
|
||||
this.btnLayerRangeNormalLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(366, 21);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(36, 20);
|
||||
this.label2.TabIndex = 16;
|
||||
this.label2.Text = "Top";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(355, 168);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(61, 20);
|
||||
this.label3.TabIndex = 18;
|
||||
this.label3.Text = "Bottom";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(516, 94);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(47, 20);
|
||||
this.label4.TabIndex = 21;
|
||||
this.label4.Text = "Right";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(223, 95);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(37, 20);
|
||||
this.label5.TabIndex = 22;
|
||||
this.label5.Text = "Left";
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Image = global::UVtools.GUI.Properties.Resources.Cancel_24x24;
|
||||
this.btnCancel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnCancel.Location = new System.Drawing.Point(434, 404);
|
||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnCancel.TabIndex = 6;
|
||||
this.btnCancel.Text = "&Cancel";
|
||||
this.btnCancel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnMutate
|
||||
//
|
||||
this.btnMutate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnMutate.Image = global::UVtools.GUI.Properties.Resources.Ok_24x24;
|
||||
this.btnMutate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnMutate.Location = new System.Drawing.Point(276, 404);
|
||||
this.btnMutate.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnMutate.Name = "btnMutate";
|
||||
this.btnMutate.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnMutate.TabIndex = 5;
|
||||
this.btnMutate.Text = "&Move";
|
||||
this.btnMutate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnMutate.UseVisualStyleBackColor = true;
|
||||
this.btnMutate.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tableAnchor
|
||||
//
|
||||
this.tableAnchor.AutoSize = true;
|
||||
this.tableAnchor.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.tableAnchor.ColumnCount = 3;
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomLeft, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomCenter, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomRight, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleRight, 2, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleCenter, 1, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleLeft, 0, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopCenter, 1, 0);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopLeft, 0, 0);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopRight, 2, 0);
|
||||
this.tableAnchor.Location = new System.Drawing.Point(358, 76);
|
||||
this.tableAnchor.Name = "tableAnchor";
|
||||
this.tableAnchor.RowCount = 3;
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.Size = new System.Drawing.Size(60, 57);
|
||||
this.tableAnchor.TabIndex = 13;
|
||||
//
|
||||
// rbAnchorBottomLeft
|
||||
//
|
||||
this.rbAnchorBottomLeft.AutoSize = true;
|
||||
this.rbAnchorBottomLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomLeft.Location = new System.Drawing.Point(3, 41);
|
||||
this.rbAnchorBottomLeft.Name = "rbAnchorBottomLeft";
|
||||
this.rbAnchorBottomLeft.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomLeft.TabIndex = 8;
|
||||
this.rbAnchorBottomLeft.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorBottomLeft.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorBottomCenter
|
||||
//
|
||||
this.rbAnchorBottomCenter.AutoSize = true;
|
||||
this.rbAnchorBottomCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomCenter.Location = new System.Drawing.Point(23, 41);
|
||||
this.rbAnchorBottomCenter.Name = "rbAnchorBottomCenter";
|
||||
this.rbAnchorBottomCenter.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomCenter.TabIndex = 7;
|
||||
this.rbAnchorBottomCenter.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorBottomCenter.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorBottomRight
|
||||
//
|
||||
this.rbAnchorBottomRight.AutoSize = true;
|
||||
this.rbAnchorBottomRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomRight.Location = new System.Drawing.Point(43, 41);
|
||||
this.rbAnchorBottomRight.Name = "rbAnchorBottomRight";
|
||||
this.rbAnchorBottomRight.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomRight.TabIndex = 6;
|
||||
this.rbAnchorBottomRight.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorBottomRight.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorMiddleRight
|
||||
//
|
||||
this.rbAnchorMiddleRight.AutoSize = true;
|
||||
this.rbAnchorMiddleRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleRight.Location = new System.Drawing.Point(43, 22);
|
||||
this.rbAnchorMiddleRight.Name = "rbAnchorMiddleRight";
|
||||
this.rbAnchorMiddleRight.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorMiddleRight.TabIndex = 5;
|
||||
this.rbAnchorMiddleRight.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorMiddleRight.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorMiddleCenter
|
||||
//
|
||||
this.rbAnchorMiddleCenter.AutoSize = true;
|
||||
this.rbAnchorMiddleCenter.Checked = true;
|
||||
this.rbAnchorMiddleCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleCenter.Location = new System.Drawing.Point(23, 22);
|
||||
this.rbAnchorMiddleCenter.Name = "rbAnchorMiddleCenter";
|
||||
this.rbAnchorMiddleCenter.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorMiddleCenter.TabIndex = 4;
|
||||
this.rbAnchorMiddleCenter.TabStop = true;
|
||||
this.rbAnchorMiddleCenter.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorMiddleCenter.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorMiddleLeft
|
||||
//
|
||||
this.rbAnchorMiddleLeft.AutoSize = true;
|
||||
this.rbAnchorMiddleLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleLeft.Location = new System.Drawing.Point(3, 22);
|
||||
this.rbAnchorMiddleLeft.Name = "rbAnchorMiddleLeft";
|
||||
this.rbAnchorMiddleLeft.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorMiddleLeft.TabIndex = 3;
|
||||
this.rbAnchorMiddleLeft.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorMiddleLeft.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorTopCenter
|
||||
//
|
||||
this.rbAnchorTopCenter.AutoSize = true;
|
||||
this.rbAnchorTopCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopCenter.Location = new System.Drawing.Point(23, 3);
|
||||
this.rbAnchorTopCenter.Name = "rbAnchorTopCenter";
|
||||
this.rbAnchorTopCenter.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopCenter.TabIndex = 2;
|
||||
this.rbAnchorTopCenter.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorTopCenter.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorTopLeft
|
||||
//
|
||||
this.rbAnchorTopLeft.AutoSize = true;
|
||||
this.rbAnchorTopLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopLeft.Location = new System.Drawing.Point(3, 3);
|
||||
this.rbAnchorTopLeft.Name = "rbAnchorTopLeft";
|
||||
this.rbAnchorTopLeft.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopLeft.TabIndex = 1;
|
||||
this.rbAnchorTopLeft.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorTopLeft.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// rbAnchorTopRight
|
||||
//
|
||||
this.rbAnchorTopRight.AutoSize = true;
|
||||
this.rbAnchorTopRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopRight.Location = new System.Drawing.Point(43, 3);
|
||||
this.rbAnchorTopRight.Name = "rbAnchorTopRight";
|
||||
this.rbAnchorTopRight.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopRight.TabIndex = 0;
|
||||
this.rbAnchorTopRight.UseVisualStyleBackColor = true;
|
||||
this.rbAnchorTopRight.CheckedChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// nmMarginTop
|
||||
//
|
||||
this.nmMarginTop.Location = new System.Drawing.Point(346, 44);
|
||||
this.nmMarginTop.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginTop.Minimum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.nmMarginTop.Name = "nmMarginTop";
|
||||
this.nmMarginTop.Size = new System.Drawing.Size(85, 26);
|
||||
this.nmMarginTop.TabIndex = 15;
|
||||
this.nmMarginTop.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.nmMarginTop.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// nmMarginBottom
|
||||
//
|
||||
this.nmMarginBottom.Location = new System.Drawing.Point(346, 139);
|
||||
this.nmMarginBottom.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginBottom.Minimum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.nmMarginBottom.Name = "nmMarginBottom";
|
||||
this.nmMarginBottom.Size = new System.Drawing.Size(85, 26);
|
||||
this.nmMarginBottom.TabIndex = 17;
|
||||
this.nmMarginBottom.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.nmMarginBottom.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// nmMarginRight
|
||||
//
|
||||
this.nmMarginRight.Location = new System.Drawing.Point(424, 92);
|
||||
this.nmMarginRight.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginRight.Minimum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.nmMarginRight.Name = "nmMarginRight";
|
||||
this.nmMarginRight.Size = new System.Drawing.Size(85, 26);
|
||||
this.nmMarginRight.TabIndex = 19;
|
||||
this.nmMarginRight.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
|
||||
this.nmMarginRight.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// nmMarginLeft
|
||||
//
|
||||
this.nmMarginLeft.Location = new System.Drawing.Point(267, 92);
|
||||
this.nmMarginLeft.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginLeft.Minimum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.nmMarginLeft.Name = "nmMarginLeft";
|
||||
this.nmMarginLeft.Size = new System.Drawing.Size(85, 26);
|
||||
this.nmMarginLeft.TabIndex = 20;
|
||||
this.nmMarginLeft.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left;
|
||||
this.nmMarginLeft.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.lbInsideBounds);
|
||||
this.groupBox1.Controls.Add(this.lbPlacementY);
|
||||
this.groupBox1.Controls.Add(this.lbPlacementX);
|
||||
this.groupBox1.Controls.Add(this.lbVolumeHeight);
|
||||
this.groupBox1.Controls.Add(this.lbVolumeWidth);
|
||||
this.groupBox1.Controls.Add(this.label5);
|
||||
this.groupBox1.Controls.Add(this.tableAnchor);
|
||||
this.groupBox1.Controls.Add(this.nmMarginTop);
|
||||
this.groupBox1.Controls.Add(this.nmMarginBottom);
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.nmMarginRight);
|
||||
this.groupBox1.Controls.Add(this.nmMarginLeft);
|
||||
this.groupBox1.Location = new System.Drawing.Point(17, 181);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(570, 199);
|
||||
this.groupBox1.TabIndex = 23;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Margins and Anchor";
|
||||
//
|
||||
// lbInsideBounds
|
||||
//
|
||||
this.lbInsideBounds.AutoSize = true;
|
||||
this.lbInsideBounds.Location = new System.Drawing.Point(7, 168);
|
||||
this.lbInsideBounds.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbInsideBounds.Name = "lbInsideBounds";
|
||||
this.lbInsideBounds.Size = new System.Drawing.Size(147, 20);
|
||||
this.lbInsideBounds.TabIndex = 27;
|
||||
this.lbInsideBounds.Text = "Inside Bounds: Yes";
|
||||
//
|
||||
// lbPlacementY
|
||||
//
|
||||
this.lbPlacementY.AutoSize = true;
|
||||
this.lbPlacementY.Location = new System.Drawing.Point(7, 138);
|
||||
this.lbPlacementY.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbPlacementY.Name = "lbPlacementY";
|
||||
this.lbPlacementY.Size = new System.Drawing.Size(103, 20);
|
||||
this.lbPlacementY.TabIndex = 26;
|
||||
this.lbPlacementY.Text = "Placement Y:";
|
||||
//
|
||||
// lbPlacementX
|
||||
//
|
||||
this.lbPlacementX.AutoSize = true;
|
||||
this.lbPlacementX.Location = new System.Drawing.Point(7, 107);
|
||||
this.lbPlacementX.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbPlacementX.Name = "lbPlacementX";
|
||||
this.lbPlacementX.Size = new System.Drawing.Size(103, 20);
|
||||
this.lbPlacementX.TabIndex = 25;
|
||||
this.lbPlacementX.Text = "Placement X:";
|
||||
//
|
||||
// lbVolumeHeight
|
||||
//
|
||||
this.lbVolumeHeight.AutoSize = true;
|
||||
this.lbVolumeHeight.Location = new System.Drawing.Point(7, 56);
|
||||
this.lbVolumeHeight.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbVolumeHeight.Name = "lbVolumeHeight";
|
||||
this.lbVolumeHeight.Size = new System.Drawing.Size(118, 20);
|
||||
this.lbVolumeHeight.TabIndex = 24;
|
||||
this.lbVolumeHeight.Text = "Volume Height:";
|
||||
//
|
||||
// lbVolumeWidth
|
||||
//
|
||||
this.lbVolumeWidth.AutoSize = true;
|
||||
this.lbVolumeWidth.Location = new System.Drawing.Point(7, 27);
|
||||
this.lbVolumeWidth.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbVolumeWidth.Name = "lbVolumeWidth";
|
||||
this.lbVolumeWidth.Size = new System.Drawing.Size(112, 20);
|
||||
this.lbVolumeWidth.TabIndex = 23;
|
||||
this.lbVolumeWidth.Text = "Volume Width:";
|
||||
//
|
||||
// btnResetDefaults
|
||||
//
|
||||
this.btnResetDefaults.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnResetDefaults.Image = global::UVtools.GUI.Properties.Resources.Rotate_16x16;
|
||||
this.btnResetDefaults.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnResetDefaults.Location = new System.Drawing.Point(13, 404);
|
||||
this.btnResetDefaults.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnResetDefaults.Name = "btnResetDefaults";
|
||||
this.btnResetDefaults.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnResetDefaults.TabIndex = 24;
|
||||
this.btnResetDefaults.Text = "&Reset defaults";
|
||||
this.btnResetDefaults.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnResetDefaults.UseVisualStyleBackColor = true;
|
||||
this.btnResetDefaults.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeSelect
|
||||
//
|
||||
this.btnLayerRangeSelect.Location = new System.Drawing.Point(446, 146);
|
||||
this.btnLayerRangeSelect.Menu = this.cmLayerRange;
|
||||
this.btnLayerRangeSelect.Name = "btnLayerRangeSelect";
|
||||
this.btnLayerRangeSelect.Size = new System.Drawing.Size(138, 26);
|
||||
this.btnLayerRangeSelect.TabIndex = 2;
|
||||
this.btnLayerRangeSelect.Text = "Select";
|
||||
this.btnLayerRangeSelect.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmMutationMove
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(599, 466);
|
||||
this.Controls.Add(this.btnResetDefaults);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.btnLayerRangeSelect);
|
||||
this.Controls.Add(this.lbLayerRangeTo);
|
||||
this.Controls.Add(this.nmLayerRangeEnd);
|
||||
this.Controls.Add(this.nmLayerRangeStart);
|
||||
this.Controls.Add(this.lbLayerRange);
|
||||
this.Controls.Add(this.btnMutate);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.lbDescription);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.KeyPreview = true;
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMutationMove";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Form1";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeEnd)).EndInit();
|
||||
this.cmLayerRange.ResumeLayout(false);
|
||||
this.tableAnchor.ResumeLayout(false);
|
||||
this.tableAnchor.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginTop)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginBottom)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginRight)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginLeft)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label lbDescription;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Button btnMutate;
|
||||
private System.Windows.Forms.Label lbLayerRange;
|
||||
private System.Windows.Forms.NumericUpDown nmLayerRangeStart;
|
||||
private System.Windows.Forms.NumericUpDown nmLayerRangeEnd;
|
||||
private System.Windows.Forms.Label lbLayerRangeTo;
|
||||
private Controls.SplitButton btnLayerRangeSelect;
|
||||
private System.Windows.Forms.ContextMenuStrip cmLayerRange;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeAllLayers;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeCurrentLayer;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeBottomLayers;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeNormalLayers;
|
||||
private System.Windows.Forms.TableLayoutPanel tableAnchor;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomLeft;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleLeft;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopLeft;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginTop;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginBottom;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginRight;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginLeft;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.Button btnResetDefaults;
|
||||
private System.Windows.Forms.Label lbVolumeHeight;
|
||||
private System.Windows.Forms.Label lbVolumeWidth;
|
||||
private System.Windows.Forms.Label lbPlacementX;
|
||||
private System.Windows.Forms.Label lbPlacementY;
|
||||
private System.Windows.Forms.Label lbInsideBounds;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
/*
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* Version 3, 19 November 2007
|
||||
* Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
* Everyone is permitted to copy and distribute verbatim copies
|
||||
* of this license document, but changing it is not allowed.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using UVtools.Core;
|
||||
|
||||
namespace UVtools.GUI.Forms
|
||||
{
|
||||
public partial class FrmMutationMove : Form
|
||||
{
|
||||
#region Properties
|
||||
|
||||
private Mutation Mutation { get; }
|
||||
|
||||
public uint LayerRangeStart
|
||||
{
|
||||
get => (uint) nmLayerRangeStart.Value;
|
||||
set => nmLayerRangeStart.Value = value;
|
||||
}
|
||||
|
||||
public uint LayerRangeEnd
|
||||
{
|
||||
get => (uint)Math.Min(nmLayerRangeEnd.Value, Program.SlicerFile.LayerCount-1);
|
||||
set => nmLayerRangeEnd.Value = value;
|
||||
}
|
||||
|
||||
private readonly OperationMove _operationMove;
|
||||
|
||||
public OperationMove OperationMove
|
||||
{
|
||||
get
|
||||
{
|
||||
byte i = 0;
|
||||
foreach (var radioButton in new[]
|
||||
{
|
||||
rbAnchorTopLeft, rbAnchorTopCenter, rbAnchorTopRight,
|
||||
rbAnchorMiddleLeft, rbAnchorMiddleCenter, rbAnchorMiddleRight,
|
||||
rbAnchorBottomLeft, rbAnchorBottomCenter, rbAnchorBottomRight
|
||||
})
|
||||
{
|
||||
if (radioButton.Checked)
|
||||
{
|
||||
_operationMove.Anchor = (Anchor) i;
|
||||
break;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
_operationMove.MarginLeft = (int) nmMarginLeft.Value;
|
||||
_operationMove.MarginTop = (int)nmMarginTop.Value;
|
||||
_operationMove.MarginRight = (int)nmMarginRight.Value;
|
||||
_operationMove.MarginBottom = (int)nmMarginBottom.Value;
|
||||
|
||||
return _operationMove;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
public FrmMutationMove(Mutation mutation, Rectangle srcRoi, uint imageWidth = 0, uint imageHeight = 0)
|
||||
{
|
||||
InitializeComponent();
|
||||
_operationMove = new OperationMove(srcRoi, imageWidth, imageHeight);
|
||||
Mutation = mutation;
|
||||
DialogResult = DialogResult.Cancel;
|
||||
|
||||
Text = $"Mutate: {mutation.MenuName}";
|
||||
lbDescription.Text = Mutation.Description;
|
||||
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount-1;
|
||||
|
||||
OperationMove.SrcRoi = srcRoi;
|
||||
OperationMove.ImageWidth = imageWidth;
|
||||
OperationMove.ImageHeight = imageHeight;
|
||||
|
||||
lbVolumeWidth.Text = $"Volume Width: {srcRoi.Width} / {imageWidth}";
|
||||
lbVolumeHeight.Text = $"Volume Height: {srcRoi.Height} / {imageHeight}";
|
||||
EventValueChanged(this, null);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Overrides
|
||||
protected override void OnKeyUp(KeyEventArgs e)
|
||||
{
|
||||
base.OnKeyUp(e);
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
btnMutate.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((ModifierKeys & Keys.Shift) == Keys.Shift && (ModifierKeys & Keys.Control) == Keys.Control)
|
||||
{
|
||||
if (e.KeyCode == Keys.A)
|
||||
{
|
||||
btnLayerRangeAllLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.C)
|
||||
{
|
||||
btnLayerRangeCurrentLayer.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.B)
|
||||
{
|
||||
btnLayerRangeBottomLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.N)
|
||||
{
|
||||
btnLayerRangeNormalLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
private void EventClick(object sender, EventArgs e)
|
||||
{
|
||||
if (ReferenceEquals(sender, btnLayerRangeAllLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = 0;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount-1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeCurrentLayer))
|
||||
{
|
||||
nmLayerRangeStart.Value = Program.FrmMain.ActualLayer;
|
||||
nmLayerRangeEnd.Value = Program.FrmMain.ActualLayer;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeBottomLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = 0;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.InitialLayerCount-1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeNormalLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = Program.SlicerFile.InitialLayerCount - 1;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount - 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnResetDefaults))
|
||||
{
|
||||
nmMarginLeft.Value = 0;
|
||||
nmMarginTop.Value = 0;
|
||||
nmMarginRight.Value = 0;
|
||||
nmMarginBottom.Value = 0;
|
||||
rbAnchorMiddleCenter.Checked = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnMutate))
|
||||
{
|
||||
if (!btnMutate.Enabled) return;
|
||||
if (LayerRangeStart > LayerRangeEnd)
|
||||
{
|
||||
MessageBox.Show("Layer range start can't be higher than layer end.\nPlease fix and try again.", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
nmLayerRangeStart.Select();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ValidateBounds())
|
||||
{
|
||||
MessageBox.Show("Your parameters will put the object out of build plate, please adjust the margins", Text, MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (MessageBox.Show($"Are you sure you want to {Mutation.Mutate}?", Text, MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnCancel))
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void EventValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
var insideBounds = btnMutate.Enabled = ValidateBounds();
|
||||
lbInsideBounds.Text = "Inside Bounds: "+(insideBounds ? "Yes" : "No");
|
||||
lbPlacementX.Text = $"Placement X: {OperationMove.DstRoi.X} / {OperationMove.ImageWidth - OperationMove.SrcRoi.Width}";
|
||||
lbPlacementY.Text = $"Placement Y: {OperationMove.DstRoi.Y} / {OperationMove.ImageHeight - OperationMove.SrcRoi.Height}";
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
public bool ValidateBounds()
|
||||
{
|
||||
OperationMove.CalculateDstRoi();
|
||||
if (OperationMove.DstRoi.X < 0) return false;
|
||||
if (OperationMove.DstRoi.Y < 0) return false;
|
||||
if (OperationMove.DstRoi.Right > OperationMove.ImageWidth) return false;
|
||||
if (OperationMove.DstRoi.Bottom > OperationMove.ImageHeight) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="cmLayerRange.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -263,6 +263,7 @@ namespace UVtools.GUI.Forms
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMutationOneComboBox";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Form1";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).EndInit();
|
||||
|
||||
@@ -256,6 +256,7 @@ namespace UVtools.GUI.Forms
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMutationOneNumericalInput";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Form1";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).EndInit();
|
||||
|
||||
+25
-24
@@ -44,14 +44,14 @@ namespace UVtools.GUI.Forms
|
||||
this.btnLayerRangeBottomLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeNormalLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.btnLayerRangeSelect = new UVtools.GUI.Controls.SplitButton();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnMutate = new System.Windows.Forms.Button();
|
||||
this.nmX = new System.Windows.Forms.NumericUpDown();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.lbY = new System.Windows.Forms.Label();
|
||||
this.nmY = new System.Windows.Forms.NumericUpDown();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.cbConstrainXY = new System.Windows.Forms.CheckBox();
|
||||
this.cbFade = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).BeginInit();
|
||||
@@ -186,6 +186,28 @@ namespace UVtools.GUI.Forms
|
||||
this.toolTip.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
|
||||
this.toolTip.ToolTipTitle = "Information";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(246, 190);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(23, 20);
|
||||
this.label1.TabIndex = 16;
|
||||
this.label1.Text = "%";
|
||||
this.toolTip.SetToolTip(this.label1, resources.GetString("label1.ToolTip"));
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(442, 190);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(23, 20);
|
||||
this.label2.TabIndex = 17;
|
||||
this.label2.Text = "%";
|
||||
this.toolTip.SetToolTip(this.label2, resources.GetString("label2.ToolTip"));
|
||||
//
|
||||
// btnLayerRangeSelect
|
||||
//
|
||||
this.btnLayerRangeSelect.Location = new System.Drawing.Point(446, 146);
|
||||
@@ -252,17 +274,6 @@ namespace UVtools.GUI.Forms
|
||||
0});
|
||||
this.nmX.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(246, 190);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(23, 20);
|
||||
this.label1.TabIndex = 16;
|
||||
this.label1.Text = "%";
|
||||
this.toolTip.SetToolTip(this.label1, resources.GetString("label1.ToolTip"));
|
||||
//
|
||||
// lbY
|
||||
//
|
||||
this.lbY.AutoSize = true;
|
||||
@@ -299,17 +310,6 @@ namespace UVtools.GUI.Forms
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(442, 190);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(23, 20);
|
||||
this.label2.TabIndex = 17;
|
||||
this.label2.Text = "%";
|
||||
this.toolTip.SetToolTip(this.label2, resources.GetString("label2.ToolTip"));
|
||||
//
|
||||
// cbConstrainXY
|
||||
//
|
||||
this.cbConstrainXY.AutoSize = true;
|
||||
@@ -362,6 +362,7 @@ namespace UVtools.GUI.Forms
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMutationResize";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Form1";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).EndInit();
|
||||
|
||||
+1
@@ -313,6 +313,7 @@ namespace UVtools.GUI.Forms
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmRepairLayers";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Repair Layers";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.numClosingIterations)).EndInit();
|
||||
|
||||
+238
-183
@@ -44,10 +44,8 @@
|
||||
this.btnIslandColor = new System.Windows.Forms.Button();
|
||||
this.btnSave = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.groupGeneral = new System.Windows.Forms.GroupBox();
|
||||
this.cbCheckForUpdatesOnStartup = new System.Windows.Forms.CheckBox();
|
||||
this.cbStartMaximized = new System.Windows.Forms.CheckBox();
|
||||
this.groupLayerPreview = new System.Windows.Forms.GroupBox();
|
||||
this.cbZoomToFitPrintVolumeBounds = new System.Windows.Forms.CheckBox();
|
||||
this.cbOutlineHollowAreas = new System.Windows.Forms.CheckBox();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
@@ -71,8 +69,9 @@
|
||||
this.btnReset = new System.Windows.Forms.Button();
|
||||
this.cbComputeIslands = new System.Windows.Forms.CheckBox();
|
||||
this.cbComputeResinTraps = new System.Windows.Forms.CheckBox();
|
||||
this.gbIssues = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.nmResinTrapBinaryThreshold = new System.Windows.Forms.NumericUpDown();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.nmResinTrapMaximumPixelBrightnessToDrain = new System.Windows.Forms.NumericUpDown();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.nmResinTrapRequiredBlackPixelsToDrain = new System.Windows.Forms.NumericUpDown();
|
||||
@@ -80,6 +79,8 @@
|
||||
this.nmResinTrapRequiredAreaToProcessCheck = new System.Windows.Forms.NumericUpDown();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.nmIslandBinaryThreshold = new System.Windows.Forms.NumericUpDown();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.nmIslandRequiredPixelBrightnessToSupport = new System.Windows.Forms.NumericUpDown();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
@@ -90,34 +91,39 @@
|
||||
this.nmIslandRequiredPixelBrightnessToProcessCheck = new System.Windows.Forms.NumericUpDown();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.cbAutoComputeIssuesClickOnTab = new System.Windows.Forms.CheckBox();
|
||||
this.nmResinTrapBinaryThreshold = new System.Windows.Forms.NumericUpDown();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.nmIslandBinaryThreshold = new System.Windows.Forms.NumericUpDown();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.groupGeneral.SuspendLayout();
|
||||
this.groupLayerPreview.SuspendLayout();
|
||||
this.tabSettings = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.cbDefaultOpenFileExtension = new System.Windows.Forms.ComboBox();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlineHollowAreasLineThickness)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlineLayerBoundsLineThickness)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlinePrintVolumeBoundsLineThickness)).BeginInit();
|
||||
this.gbIssues.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapBinaryThreshold)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapMaximumPixelBrightnessToDrain)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapRequiredBlackPixelsToDrain)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapRequiredAreaToProcessCheck)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandBinaryThreshold)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelBrightnessToSupport)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelsToSupport)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredAreaToProcessCheck)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelBrightnessToProcessCheck)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapBinaryThreshold)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandBinaryThreshold)).BeginInit();
|
||||
this.tabSettings.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
this.tabPage3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(7, 30);
|
||||
this.label1.Location = new System.Drawing.Point(9, 15);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(202, 18);
|
||||
@@ -130,7 +136,7 @@
|
||||
this.btnPreviousNextLayerColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnPreviousNextLayerColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnPreviousNextLayerColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnPreviousNextLayerColor.Location = new System.Drawing.Point(217, 23);
|
||||
this.btnPreviousNextLayerColor.Location = new System.Drawing.Point(219, 8);
|
||||
this.btnPreviousNextLayerColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnPreviousNextLayerColor.Name = "btnPreviousNextLayerColor";
|
||||
this.btnPreviousNextLayerColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -149,7 +155,7 @@
|
||||
this.btnPreviousLayerColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnPreviousLayerColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnPreviousLayerColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnPreviousLayerColor.Location = new System.Drawing.Point(217, 63);
|
||||
this.btnPreviousLayerColor.Location = new System.Drawing.Point(219, 48);
|
||||
this.btnPreviousLayerColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnPreviousLayerColor.Name = "btnPreviousLayerColor";
|
||||
this.btnPreviousLayerColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -160,7 +166,7 @@
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(7, 70);
|
||||
this.label2.Location = new System.Drawing.Point(9, 55);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(139, 18);
|
||||
@@ -173,7 +179,7 @@
|
||||
this.btnNextLayerColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnNextLayerColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnNextLayerColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnNextLayerColor.Location = new System.Drawing.Point(217, 103);
|
||||
this.btnNextLayerColor.Location = new System.Drawing.Point(219, 88);
|
||||
this.btnNextLayerColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnNextLayerColor.Name = "btnNextLayerColor";
|
||||
this.btnNextLayerColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -184,7 +190,7 @@
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(7, 110);
|
||||
this.label3.Location = new System.Drawing.Point(9, 95);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(111, 18);
|
||||
@@ -198,7 +204,7 @@
|
||||
this.btnTouchingBoundsColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnTouchingBoundsColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnTouchingBoundsColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnTouchingBoundsColor.Location = new System.Drawing.Point(566, 103);
|
||||
this.btnTouchingBoundsColor.Location = new System.Drawing.Point(575, 88);
|
||||
this.btnTouchingBoundsColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnTouchingBoundsColor.Name = "btnTouchingBoundsColor";
|
||||
this.btnTouchingBoundsColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -210,7 +216,7 @@
|
||||
//
|
||||
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(402, 30);
|
||||
this.label4.Location = new System.Drawing.Point(479, 15);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(88, 18);
|
||||
@@ -221,7 +227,7 @@
|
||||
//
|
||||
this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(402, 70);
|
||||
this.label5.Location = new System.Drawing.Point(450, 55);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(117, 18);
|
||||
@@ -232,7 +238,7 @@
|
||||
//
|
||||
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(402, 110);
|
||||
this.label6.Location = new System.Drawing.Point(411, 95);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(156, 18);
|
||||
@@ -246,7 +252,7 @@
|
||||
this.btnResinTrapColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnResinTrapColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnResinTrapColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnResinTrapColor.Location = new System.Drawing.Point(566, 63);
|
||||
this.btnResinTrapColor.Location = new System.Drawing.Point(575, 48);
|
||||
this.btnResinTrapColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnResinTrapColor.Name = "btnResinTrapColor";
|
||||
this.btnResinTrapColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -261,7 +267,7 @@
|
||||
this.btnIslandColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnIslandColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnIslandColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnIslandColor.Location = new System.Drawing.Point(566, 23);
|
||||
this.btnIslandColor.Location = new System.Drawing.Point(575, 8);
|
||||
this.btnIslandColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnIslandColor.Name = "btnIslandColor";
|
||||
this.btnIslandColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -274,7 +280,7 @@
|
||||
this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnSave.Image = global::UVtools.GUI.Properties.Resources.Ok_24x24;
|
||||
this.btnSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnSave.Location = new System.Drawing.Point(290, 891);
|
||||
this.btnSave.Location = new System.Drawing.Point(303, 15);
|
||||
this.btnSave.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.Size = new System.Drawing.Size(150, 48);
|
||||
@@ -290,7 +296,7 @@
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Image = global::UVtools.GUI.Properties.Resources.Cancel_24x24;
|
||||
this.btnCancel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnCancel.Location = new System.Drawing.Point(448, 891);
|
||||
this.btnCancel.Location = new System.Drawing.Point(461, 15);
|
||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(150, 48);
|
||||
@@ -299,22 +305,10 @@
|
||||
this.btnCancel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupGeneral
|
||||
//
|
||||
this.groupGeneral.Controls.Add(this.cbCheckForUpdatesOnStartup);
|
||||
this.groupGeneral.Controls.Add(this.cbStartMaximized);
|
||||
this.groupGeneral.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupGeneral.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupGeneral.Name = "groupGeneral";
|
||||
this.groupGeneral.Size = new System.Drawing.Size(611, 88);
|
||||
this.groupGeneral.TabIndex = 14;
|
||||
this.groupGeneral.TabStop = false;
|
||||
this.groupGeneral.Text = "General";
|
||||
//
|
||||
// cbCheckForUpdatesOnStartup
|
||||
//
|
||||
this.cbCheckForUpdatesOnStartup.AutoSize = true;
|
||||
this.cbCheckForUpdatesOnStartup.Location = new System.Drawing.Point(6, 51);
|
||||
this.cbCheckForUpdatesOnStartup.Location = new System.Drawing.Point(9, 34);
|
||||
this.cbCheckForUpdatesOnStartup.Name = "cbCheckForUpdatesOnStartup";
|
||||
this.cbCheckForUpdatesOnStartup.Size = new System.Drawing.Size(218, 22);
|
||||
this.cbCheckForUpdatesOnStartup.TabIndex = 7;
|
||||
@@ -324,58 +318,17 @@
|
||||
// cbStartMaximized
|
||||
//
|
||||
this.cbStartMaximized.AutoSize = true;
|
||||
this.cbStartMaximized.Location = new System.Drawing.Point(6, 23);
|
||||
this.cbStartMaximized.Location = new System.Drawing.Point(9, 6);
|
||||
this.cbStartMaximized.Name = "cbStartMaximized";
|
||||
this.cbStartMaximized.Size = new System.Drawing.Size(133, 22);
|
||||
this.cbStartMaximized.TabIndex = 6;
|
||||
this.cbStartMaximized.Text = "Start maximized";
|
||||
this.cbStartMaximized.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupLayerPreview
|
||||
//
|
||||
this.groupLayerPreview.Controls.Add(this.cbZoomToFitPrintVolumeBounds);
|
||||
this.groupLayerPreview.Controls.Add(this.cbOutlineHollowAreas);
|
||||
this.groupLayerPreview.Controls.Add(this.label18);
|
||||
this.groupLayerPreview.Controls.Add(this.nmOutlineHollowAreasLineThickness);
|
||||
this.groupLayerPreview.Controls.Add(this.label19);
|
||||
this.groupLayerPreview.Controls.Add(this.btnOutlineHollowAreasColor);
|
||||
this.groupLayerPreview.Controls.Add(this.cbOutlineLayerBounds);
|
||||
this.groupLayerPreview.Controls.Add(this.label16);
|
||||
this.groupLayerPreview.Controls.Add(this.nmOutlineLayerBoundsLineThickness);
|
||||
this.groupLayerPreview.Controls.Add(this.label17);
|
||||
this.groupLayerPreview.Controls.Add(this.btnOutlineLayerBoundsColor);
|
||||
this.groupLayerPreview.Controls.Add(this.cbOutlinePrintVolumeBounds);
|
||||
this.groupLayerPreview.Controls.Add(this.label15);
|
||||
this.groupLayerPreview.Controls.Add(this.nmOutlinePrintVolumeBoundsLineThickness);
|
||||
this.groupLayerPreview.Controls.Add(this.label14);
|
||||
this.groupLayerPreview.Controls.Add(this.btnOutlinePrintVolumeBoundsColor);
|
||||
this.groupLayerPreview.Controls.Add(this.cbLayerZoomToFit);
|
||||
this.groupLayerPreview.Controls.Add(this.cbLayerDifferenceDefault);
|
||||
this.groupLayerPreview.Controls.Add(this.cbLayerAutoRotateBestView);
|
||||
this.groupLayerPreview.Controls.Add(this.label1);
|
||||
this.groupLayerPreview.Controls.Add(this.btnPreviousNextLayerColor);
|
||||
this.groupLayerPreview.Controls.Add(this.label2);
|
||||
this.groupLayerPreview.Controls.Add(this.btnPreviousLayerColor);
|
||||
this.groupLayerPreview.Controls.Add(this.btnIslandColor);
|
||||
this.groupLayerPreview.Controls.Add(this.label3);
|
||||
this.groupLayerPreview.Controls.Add(this.btnResinTrapColor);
|
||||
this.groupLayerPreview.Controls.Add(this.btnNextLayerColor);
|
||||
this.groupLayerPreview.Controls.Add(this.label6);
|
||||
this.groupLayerPreview.Controls.Add(this.label4);
|
||||
this.groupLayerPreview.Controls.Add(this.label5);
|
||||
this.groupLayerPreview.Controls.Add(this.btnTouchingBoundsColor);
|
||||
this.groupLayerPreview.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupLayerPreview.Location = new System.Drawing.Point(0, 88);
|
||||
this.groupLayerPreview.Name = "groupLayerPreview";
|
||||
this.groupLayerPreview.Size = new System.Drawing.Size(611, 348);
|
||||
this.groupLayerPreview.TabIndex = 15;
|
||||
this.groupLayerPreview.TabStop = false;
|
||||
this.groupLayerPreview.Text = "Layer Preview";
|
||||
//
|
||||
// cbZoomToFitPrintVolumeBounds
|
||||
//
|
||||
this.cbZoomToFitPrintVolumeBounds.AutoSize = true;
|
||||
this.cbZoomToFitPrintVolumeBounds.Location = new System.Drawing.Point(325, 292);
|
||||
this.cbZoomToFitPrintVolumeBounds.Location = new System.Drawing.Point(327, 277);
|
||||
this.cbZoomToFitPrintVolumeBounds.Name = "cbZoomToFitPrintVolumeBounds";
|
||||
this.cbZoomToFitPrintVolumeBounds.Size = new System.Drawing.Size(276, 22);
|
||||
this.cbZoomToFitPrintVolumeBounds.TabIndex = 34;
|
||||
@@ -384,8 +337,9 @@
|
||||
//
|
||||
// cbOutlineHollowAreas
|
||||
//
|
||||
this.cbOutlineHollowAreas.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cbOutlineHollowAreas.AutoSize = true;
|
||||
this.cbOutlineHollowAreas.Location = new System.Drawing.Point(470, 228);
|
||||
this.cbOutlineHollowAreas.Location = new System.Drawing.Point(479, 213);
|
||||
this.cbOutlineHollowAreas.Name = "cbOutlineHollowAreas";
|
||||
this.cbOutlineHollowAreas.Size = new System.Drawing.Size(131, 22);
|
||||
this.cbOutlineHollowAreas.TabIndex = 33;
|
||||
@@ -395,7 +349,7 @@
|
||||
// label18
|
||||
//
|
||||
this.label18.AutoSize = true;
|
||||
this.label18.Location = new System.Drawing.Point(319, 230);
|
||||
this.label18.Location = new System.Drawing.Point(321, 215);
|
||||
this.label18.Name = "label18";
|
||||
this.label18.Size = new System.Drawing.Size(150, 18);
|
||||
this.label18.TabIndex = 32;
|
||||
@@ -403,7 +357,7 @@
|
||||
//
|
||||
// nmOutlineHollowAreasLineThickness
|
||||
//
|
||||
this.nmOutlineHollowAreasLineThickness.Location = new System.Drawing.Point(256, 227);
|
||||
this.nmOutlineHollowAreasLineThickness.Location = new System.Drawing.Point(258, 212);
|
||||
this.nmOutlineHollowAreasLineThickness.Maximum = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
@@ -426,7 +380,7 @@
|
||||
// label19
|
||||
//
|
||||
this.label19.AutoSize = true;
|
||||
this.label19.Location = new System.Drawing.Point(7, 230);
|
||||
this.label19.Location = new System.Drawing.Point(9, 215);
|
||||
this.label19.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label19.Name = "label19";
|
||||
this.label19.Size = new System.Drawing.Size(183, 18);
|
||||
@@ -439,7 +393,7 @@
|
||||
this.btnOutlineHollowAreasColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnOutlineHollowAreasColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnOutlineHollowAreasColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOutlineHollowAreasColor.Location = new System.Drawing.Point(217, 223);
|
||||
this.btnOutlineHollowAreasColor.Location = new System.Drawing.Point(219, 208);
|
||||
this.btnOutlineHollowAreasColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnOutlineHollowAreasColor.Name = "btnOutlineHollowAreasColor";
|
||||
this.btnOutlineHollowAreasColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -449,8 +403,9 @@
|
||||
//
|
||||
// cbOutlineLayerBounds
|
||||
//
|
||||
this.cbOutlineLayerBounds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cbOutlineLayerBounds.AutoSize = true;
|
||||
this.cbOutlineLayerBounds.Location = new System.Drawing.Point(470, 188);
|
||||
this.cbOutlineLayerBounds.Location = new System.Drawing.Point(479, 173);
|
||||
this.cbOutlineLayerBounds.Name = "cbOutlineLayerBounds";
|
||||
this.cbOutlineLayerBounds.Size = new System.Drawing.Size(131, 22);
|
||||
this.cbOutlineLayerBounds.TabIndex = 28;
|
||||
@@ -460,7 +415,7 @@
|
||||
// label16
|
||||
//
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(319, 190);
|
||||
this.label16.Location = new System.Drawing.Point(321, 175);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(145, 18);
|
||||
this.label16.TabIndex = 27;
|
||||
@@ -468,7 +423,7 @@
|
||||
//
|
||||
// nmOutlineLayerBoundsLineThickness
|
||||
//
|
||||
this.nmOutlineLayerBoundsLineThickness.Location = new System.Drawing.Point(256, 187);
|
||||
this.nmOutlineLayerBoundsLineThickness.Location = new System.Drawing.Point(258, 172);
|
||||
this.nmOutlineLayerBoundsLineThickness.Maximum = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
@@ -491,7 +446,7 @@
|
||||
// label17
|
||||
//
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(7, 190);
|
||||
this.label17.Location = new System.Drawing.Point(9, 175);
|
||||
this.label17.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(185, 18);
|
||||
@@ -504,7 +459,7 @@
|
||||
this.btnOutlineLayerBoundsColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnOutlineLayerBoundsColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnOutlineLayerBoundsColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOutlineLayerBoundsColor.Location = new System.Drawing.Point(217, 183);
|
||||
this.btnOutlineLayerBoundsColor.Location = new System.Drawing.Point(219, 168);
|
||||
this.btnOutlineLayerBoundsColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnOutlineLayerBoundsColor.Name = "btnOutlineLayerBoundsColor";
|
||||
this.btnOutlineLayerBoundsColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -514,8 +469,9 @@
|
||||
//
|
||||
// cbOutlinePrintVolumeBounds
|
||||
//
|
||||
this.cbOutlinePrintVolumeBounds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cbOutlinePrintVolumeBounds.AutoSize = true;
|
||||
this.cbOutlinePrintVolumeBounds.Location = new System.Drawing.Point(470, 148);
|
||||
this.cbOutlinePrintVolumeBounds.Location = new System.Drawing.Point(479, 133);
|
||||
this.cbOutlinePrintVolumeBounds.Name = "cbOutlinePrintVolumeBounds";
|
||||
this.cbOutlinePrintVolumeBounds.Size = new System.Drawing.Size(131, 22);
|
||||
this.cbOutlinePrintVolumeBounds.TabIndex = 23;
|
||||
@@ -525,7 +481,7 @@
|
||||
// label15
|
||||
//
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(319, 150);
|
||||
this.label15.Location = new System.Drawing.Point(321, 135);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(145, 18);
|
||||
this.label15.TabIndex = 22;
|
||||
@@ -533,7 +489,7 @@
|
||||
//
|
||||
// nmOutlinePrintVolumeBoundsLineThickness
|
||||
//
|
||||
this.nmOutlinePrintVolumeBoundsLineThickness.Location = new System.Drawing.Point(256, 147);
|
||||
this.nmOutlinePrintVolumeBoundsLineThickness.Location = new System.Drawing.Point(258, 132);
|
||||
this.nmOutlinePrintVolumeBoundsLineThickness.Maximum = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
@@ -556,7 +512,7 @@
|
||||
// label14
|
||||
//
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(7, 150);
|
||||
this.label14.Location = new System.Drawing.Point(9, 135);
|
||||
this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(181, 18);
|
||||
@@ -569,7 +525,7 @@
|
||||
this.btnOutlinePrintVolumeBoundsColor.FlatAppearance.BorderColor = System.Drawing.Color.Black;
|
||||
this.btnOutlinePrintVolumeBoundsColor.FlatAppearance.BorderSize = 2;
|
||||
this.btnOutlinePrintVolumeBoundsColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOutlinePrintVolumeBoundsColor.Location = new System.Drawing.Point(217, 143);
|
||||
this.btnOutlinePrintVolumeBoundsColor.Location = new System.Drawing.Point(219, 128);
|
||||
this.btnOutlinePrintVolumeBoundsColor.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.btnOutlinePrintVolumeBoundsColor.Name = "btnOutlinePrintVolumeBoundsColor";
|
||||
this.btnOutlinePrintVolumeBoundsColor.Size = new System.Drawing.Size(32, 32);
|
||||
@@ -580,7 +536,7 @@
|
||||
// cbLayerZoomToFit
|
||||
//
|
||||
this.cbLayerZoomToFit.AutoSize = true;
|
||||
this.cbLayerZoomToFit.Location = new System.Drawing.Point(9, 292);
|
||||
this.cbLayerZoomToFit.Location = new System.Drawing.Point(11, 277);
|
||||
this.cbLayerZoomToFit.Name = "cbLayerZoomToFit";
|
||||
this.cbLayerZoomToFit.Size = new System.Drawing.Size(313, 22);
|
||||
this.cbLayerZoomToFit.TabIndex = 15;
|
||||
@@ -590,7 +546,7 @@
|
||||
// cbLayerDifferenceDefault
|
||||
//
|
||||
this.cbLayerDifferenceDefault.AutoSize = true;
|
||||
this.cbLayerDifferenceDefault.Location = new System.Drawing.Point(9, 320);
|
||||
this.cbLayerDifferenceDefault.Location = new System.Drawing.Point(11, 305);
|
||||
this.cbLayerDifferenceDefault.Name = "cbLayerDifferenceDefault";
|
||||
this.cbLayerDifferenceDefault.Size = new System.Drawing.Size(234, 22);
|
||||
this.cbLayerDifferenceDefault.TabIndex = 13;
|
||||
@@ -600,7 +556,7 @@
|
||||
// cbLayerAutoRotateBestView
|
||||
//
|
||||
this.cbLayerAutoRotateBestView.AutoSize = true;
|
||||
this.cbLayerAutoRotateBestView.Location = new System.Drawing.Point(9, 264);
|
||||
this.cbLayerAutoRotateBestView.Location = new System.Drawing.Point(11, 249);
|
||||
this.cbLayerAutoRotateBestView.Name = "cbLayerAutoRotateBestView";
|
||||
this.cbLayerAutoRotateBestView.Size = new System.Drawing.Size(327, 22);
|
||||
this.cbLayerAutoRotateBestView.TabIndex = 12;
|
||||
@@ -622,7 +578,7 @@
|
||||
this.btnReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnReset.Image = global::UVtools.GUI.Properties.Resources.Rotate_16x16;
|
||||
this.btnReset.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnReset.Location = new System.Drawing.Point(13, 891);
|
||||
this.btnReset.Location = new System.Drawing.Point(13, 15);
|
||||
this.btnReset.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnReset.Name = "btnReset";
|
||||
this.btnReset.Size = new System.Drawing.Size(158, 48);
|
||||
@@ -652,19 +608,6 @@
|
||||
this.cbComputeResinTraps.Text = "Compute Resin Traps";
|
||||
this.cbComputeResinTraps.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// gbIssues
|
||||
//
|
||||
this.gbIssues.Controls.Add(this.groupBox3);
|
||||
this.gbIssues.Controls.Add(this.groupBox2);
|
||||
this.gbIssues.Controls.Add(this.groupBox1);
|
||||
this.gbIssues.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.gbIssues.Location = new System.Drawing.Point(0, 436);
|
||||
this.gbIssues.Name = "gbIssues";
|
||||
this.gbIssues.Size = new System.Drawing.Size(611, 442);
|
||||
this.gbIssues.TabIndex = 17;
|
||||
this.gbIssues.TabStop = false;
|
||||
this.gbIssues.Text = "Issues";
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.nmResinTrapBinaryThreshold);
|
||||
@@ -676,12 +619,39 @@
|
||||
this.groupBox3.Controls.Add(this.nmResinTrapRequiredAreaToProcessCheck);
|
||||
this.groupBox3.Controls.Add(this.label11);
|
||||
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupBox3.Location = new System.Drawing.Point(3, 279);
|
||||
this.groupBox3.Location = new System.Drawing.Point(3, 262);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(605, 152);
|
||||
this.groupBox3.Size = new System.Drawing.Size(610, 152);
|
||||
this.groupBox3.TabIndex = 24;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Resin Traps";
|
||||
//
|
||||
// nmResinTrapBinaryThreshold
|
||||
//
|
||||
this.nmResinTrapBinaryThreshold.Location = new System.Drawing.Point(10, 23);
|
||||
this.nmResinTrapBinaryThreshold.Maximum = new decimal(new int[] {
|
||||
254,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmResinTrapBinaryThreshold.Name = "nmResinTrapBinaryThreshold";
|
||||
this.nmResinTrapBinaryThreshold.Size = new System.Drawing.Size(57, 24);
|
||||
this.nmResinTrapBinaryThreshold.TabIndex = 26;
|
||||
this.nmResinTrapBinaryThreshold.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(73, 26);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(512, 18);
|
||||
this.label20.TabIndex = 27;
|
||||
this.label20.Text = "Pixels below this value will turn black, otherwise white. Value=0 to disable this" +
|
||||
"";
|
||||
//
|
||||
// nmResinTrapMaximumPixelBrightnessToDrain
|
||||
//
|
||||
@@ -784,12 +754,39 @@
|
||||
this.groupBox2.Controls.Add(this.label8);
|
||||
this.groupBox2.Controls.Add(this.nmIslandRequiredPixelBrightnessToProcessCheck);
|
||||
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupBox2.Location = new System.Drawing.Point(3, 103);
|
||||
this.groupBox2.Location = new System.Drawing.Point(3, 86);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(605, 176);
|
||||
this.groupBox2.Size = new System.Drawing.Size(610, 176);
|
||||
this.groupBox2.TabIndex = 23;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Islands";
|
||||
//
|
||||
// nmIslandBinaryThreshold
|
||||
//
|
||||
this.nmIslandBinaryThreshold.Location = new System.Drawing.Point(10, 23);
|
||||
this.nmIslandBinaryThreshold.Maximum = new decimal(new int[] {
|
||||
254,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmIslandBinaryThreshold.Name = "nmIslandBinaryThreshold";
|
||||
this.nmIslandBinaryThreshold.Size = new System.Drawing.Size(57, 24);
|
||||
this.nmIslandBinaryThreshold.TabIndex = 28;
|
||||
this.nmIslandBinaryThreshold.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(73, 26);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(512, 18);
|
||||
this.label21.TabIndex = 29;
|
||||
this.label21.Text = "Pixels below this value will turn black, otherwise white. Value=0 to disable this" +
|
||||
"";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
@@ -922,9 +919,9 @@
|
||||
this.groupBox1.Controls.Add(this.cbComputeIslands);
|
||||
this.groupBox1.Controls.Add(this.cbComputeResinTraps);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.groupBox1.Location = new System.Drawing.Point(3, 20);
|
||||
this.groupBox1.Location = new System.Drawing.Point(3, 3);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(605, 83);
|
||||
this.groupBox1.Size = new System.Drawing.Size(610, 83);
|
||||
this.groupBox1.TabIndex = 22;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Commun";
|
||||
@@ -939,71 +936,123 @@
|
||||
this.cbAutoComputeIssuesClickOnTab.Text = "Auto compute issues when click Issues tab for the first time";
|
||||
this.cbAutoComputeIssuesClickOnTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// nmResinTrapBinaryThreshold
|
||||
// tabSettings
|
||||
//
|
||||
this.nmResinTrapBinaryThreshold.Location = new System.Drawing.Point(10, 23);
|
||||
this.nmResinTrapBinaryThreshold.Maximum = new decimal(new int[] {
|
||||
254,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmResinTrapBinaryThreshold.Name = "nmResinTrapBinaryThreshold";
|
||||
this.nmResinTrapBinaryThreshold.Size = new System.Drawing.Size(57, 24);
|
||||
this.nmResinTrapBinaryThreshold.TabIndex = 26;
|
||||
this.nmResinTrapBinaryThreshold.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.tabSettings.Controls.Add(this.tabPage1);
|
||||
this.tabSettings.Controls.Add(this.tabPage2);
|
||||
this.tabSettings.Controls.Add(this.tabPage3);
|
||||
this.tabSettings.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabSettings.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabSettings.Name = "tabSettings";
|
||||
this.tabSettings.SelectedIndex = 0;
|
||||
this.tabSettings.Size = new System.Drawing.Size(624, 529);
|
||||
this.tabSettings.TabIndex = 18;
|
||||
//
|
||||
// label20
|
||||
// tabPage1
|
||||
//
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(73, 26);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(512, 18);
|
||||
this.label20.TabIndex = 27;
|
||||
this.label20.Text = "Pixels below this value will turn black, otherwise white. Value=0 to disable this" +
|
||||
"";
|
||||
this.tabPage1.Controls.Add(this.label22);
|
||||
this.tabPage1.Controls.Add(this.cbDefaultOpenFileExtension);
|
||||
this.tabPage1.Controls.Add(this.cbCheckForUpdatesOnStartup);
|
||||
this.tabPage1.Controls.Add(this.cbStartMaximized);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 27);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(616, 498);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "General";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// nmIslandBinaryThreshold
|
||||
// tabPage2
|
||||
//
|
||||
this.nmIslandBinaryThreshold.Location = new System.Drawing.Point(10, 23);
|
||||
this.nmIslandBinaryThreshold.Maximum = new decimal(new int[] {
|
||||
254,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmIslandBinaryThreshold.Name = "nmIslandBinaryThreshold";
|
||||
this.nmIslandBinaryThreshold.Size = new System.Drawing.Size(57, 24);
|
||||
this.nmIslandBinaryThreshold.TabIndex = 28;
|
||||
this.nmIslandBinaryThreshold.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.tabPage2.Controls.Add(this.cbZoomToFitPrintVolumeBounds);
|
||||
this.tabPage2.Controls.Add(this.label1);
|
||||
this.tabPage2.Controls.Add(this.label2);
|
||||
this.tabPage2.Controls.Add(this.cbOutlineHollowAreas);
|
||||
this.tabPage2.Controls.Add(this.btnPreviousNextLayerColor);
|
||||
this.tabPage2.Controls.Add(this.btnPreviousLayerColor);
|
||||
this.tabPage2.Controls.Add(this.label18);
|
||||
this.tabPage2.Controls.Add(this.btnIslandColor);
|
||||
this.tabPage2.Controls.Add(this.cbLayerAutoRotateBestView);
|
||||
this.tabPage2.Controls.Add(this.nmOutlineHollowAreasLineThickness);
|
||||
this.tabPage2.Controls.Add(this.label3);
|
||||
this.tabPage2.Controls.Add(this.cbLayerDifferenceDefault);
|
||||
this.tabPage2.Controls.Add(this.label19);
|
||||
this.tabPage2.Controls.Add(this.btnResinTrapColor);
|
||||
this.tabPage2.Controls.Add(this.cbLayerZoomToFit);
|
||||
this.tabPage2.Controls.Add(this.btnOutlineHollowAreasColor);
|
||||
this.tabPage2.Controls.Add(this.btnNextLayerColor);
|
||||
this.tabPage2.Controls.Add(this.btnOutlinePrintVolumeBoundsColor);
|
||||
this.tabPage2.Controls.Add(this.cbOutlineLayerBounds);
|
||||
this.tabPage2.Controls.Add(this.label6);
|
||||
this.tabPage2.Controls.Add(this.label14);
|
||||
this.tabPage2.Controls.Add(this.label16);
|
||||
this.tabPage2.Controls.Add(this.label4);
|
||||
this.tabPage2.Controls.Add(this.nmOutlinePrintVolumeBoundsLineThickness);
|
||||
this.tabPage2.Controls.Add(this.nmOutlineLayerBoundsLineThickness);
|
||||
this.tabPage2.Controls.Add(this.label5);
|
||||
this.tabPage2.Controls.Add(this.label15);
|
||||
this.tabPage2.Controls.Add(this.label17);
|
||||
this.tabPage2.Controls.Add(this.btnTouchingBoundsColor);
|
||||
this.tabPage2.Controls.Add(this.cbOutlinePrintVolumeBounds);
|
||||
this.tabPage2.Controls.Add(this.btnOutlineLayerBoundsColor);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 27);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(616, 498);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Layer Preview";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label21
|
||||
// panel1
|
||||
//
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(73, 26);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(512, 18);
|
||||
this.label21.TabIndex = 29;
|
||||
this.label21.Text = "Pixels below this value will turn black, otherwise white. Value=0 to disable this" +
|
||||
"";
|
||||
this.panel1.Controls.Add(this.btnCancel);
|
||||
this.panel1.Controls.Add(this.btnSave);
|
||||
this.panel1.Controls.Add(this.btnReset);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 452);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(624, 77);
|
||||
this.panel1.TabIndex = 19;
|
||||
//
|
||||
// tabPage3
|
||||
//
|
||||
this.tabPage3.Controls.Add(this.groupBox3);
|
||||
this.tabPage3.Controls.Add(this.groupBox2);
|
||||
this.tabPage3.Controls.Add(this.groupBox1);
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 27);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage3.Size = new System.Drawing.Size(616, 498);
|
||||
this.tabPage3.TabIndex = 2;
|
||||
this.tabPage3.Text = "Issues";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cbDefaultOpenFileExtension
|
||||
//
|
||||
this.cbDefaultOpenFileExtension.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cbDefaultOpenFileExtension.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbDefaultOpenFileExtension.FormattingEnabled = true;
|
||||
this.cbDefaultOpenFileExtension.Location = new System.Drawing.Point(225, 62);
|
||||
this.cbDefaultOpenFileExtension.Name = "cbDefaultOpenFileExtension";
|
||||
this.cbDefaultOpenFileExtension.Size = new System.Drawing.Size(382, 26);
|
||||
this.cbDefaultOpenFileExtension.TabIndex = 8;
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(6, 66);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(213, 18);
|
||||
this.label22.TabIndex = 9;
|
||||
this.label22.Text = "Default file extension at file load";
|
||||
//
|
||||
// FrmSettings
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(611, 953);
|
||||
this.Controls.Add(this.gbIssues);
|
||||
this.Controls.Add(this.btnReset);
|
||||
this.Controls.Add(this.groupLayerPreview);
|
||||
this.Controls.Add(this.groupGeneral);
|
||||
this.Controls.Add(this.btnSave);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.ClientSize = new System.Drawing.Size(624, 529);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.tabSettings);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
@@ -1014,29 +1063,31 @@
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Settings";
|
||||
this.groupGeneral.ResumeLayout(false);
|
||||
this.groupGeneral.PerformLayout();
|
||||
this.groupLayerPreview.ResumeLayout(false);
|
||||
this.groupLayerPreview.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlineHollowAreasLineThickness)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlineLayerBoundsLineThickness)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmOutlinePrintVolumeBoundsLineThickness)).EndInit();
|
||||
this.gbIssues.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapBinaryThreshold)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapMaximumPixelBrightnessToDrain)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapRequiredBlackPixelsToDrain)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapRequiredAreaToProcessCheck)).EndInit();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandBinaryThreshold)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelBrightnessToSupport)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelsToSupport)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredAreaToProcessCheck)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandRequiredPixelBrightnessToProcessCheck)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmResinTrapBinaryThreshold)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmIslandBinaryThreshold)).EndInit();
|
||||
this.tabSettings.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage2.PerformLayout();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.tabPage3.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -1058,10 +1109,8 @@
|
||||
private System.Windows.Forms.Button btnIslandColor;
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.GroupBox groupGeneral;
|
||||
private System.Windows.Forms.CheckBox cbStartMaximized;
|
||||
private System.Windows.Forms.CheckBox cbCheckForUpdatesOnStartup;
|
||||
private System.Windows.Forms.GroupBox groupLayerPreview;
|
||||
private System.Windows.Forms.CheckBox cbLayerAutoRotateBestView;
|
||||
private System.Windows.Forms.Button btnReset;
|
||||
private System.Windows.Forms.CheckBox cbLayerDifferenceDefault;
|
||||
@@ -1069,7 +1118,6 @@
|
||||
private System.Windows.Forms.CheckBox cbLayerZoomToFit;
|
||||
private System.Windows.Forms.CheckBox cbComputeResinTraps;
|
||||
private System.Windows.Forms.CheckBox cbComputeIslands;
|
||||
private System.Windows.Forms.GroupBox gbIssues;
|
||||
private System.Windows.Forms.NumericUpDown nmIslandRequiredAreaToProcessCheck;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
@@ -1108,5 +1156,12 @@
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.NumericUpDown nmIslandBinaryThreshold;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.TabControl tabSettings;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TabPage tabPage3;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.ComboBox cbDefaultOpenFileExtension;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using UVtools.Core;
|
||||
using UVtools.GUI.Properties;
|
||||
|
||||
namespace UVtools.GUI.Forms
|
||||
@@ -9,6 +12,14 @@ namespace UVtools.GUI.Forms
|
||||
public FrmSettings()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
var fileFormats = new List<string>
|
||||
{
|
||||
FileFormat.AllSlicerFiles.Replace("*", string.Empty)
|
||||
};
|
||||
fileFormats.AddRange(from format in FileFormat.AvaliableFormats from extension in format.FileExtensions select $"{extension.Description} (.{extension.Extension})");
|
||||
cbDefaultOpenFileExtension.Items.AddRange(fileFormats.ToArray());
|
||||
|
||||
Init();
|
||||
}
|
||||
|
||||
@@ -18,6 +29,7 @@ namespace UVtools.GUI.Forms
|
||||
{
|
||||
cbCheckForUpdatesOnStartup.Checked = Settings.Default.CheckForUpdatesOnStartup;
|
||||
cbStartMaximized.Checked = Settings.Default.StartMaximized;
|
||||
cbDefaultOpenFileExtension.SelectedIndex = Settings.Default.DefaultOpenFileExtension;
|
||||
|
||||
btnPreviousNextLayerColor.BackColor = Settings.Default.PreviousNextLayerColor;
|
||||
btnPreviousLayerColor.BackColor = Settings.Default.PreviousLayerColor;
|
||||
@@ -108,6 +120,7 @@ namespace UVtools.GUI.Forms
|
||||
{
|
||||
Settings.Default.CheckForUpdatesOnStartup = cbCheckForUpdatesOnStartup.Checked;
|
||||
Settings.Default.StartMaximized = cbStartMaximized.Checked;
|
||||
Settings.Default.DefaultOpenFileExtension = (byte) cbDefaultOpenFileExtension.SelectedIndex;
|
||||
|
||||
Settings.Default.PreviousNextLayerColor = btnPreviousNextLayerColor.BackColor;
|
||||
Settings.Default.PreviousLayerColor = btnPreviousLayerColor.BackColor;
|
||||
|
||||
+678
@@ -0,0 +1,678 @@
|
||||
using UVtools.GUI.Controls;
|
||||
|
||||
namespace UVtools.GUI.Forms
|
||||
{
|
||||
partial class FrmToolPattern
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmToolPattern));
|
||||
this.lbDescription = new System.Windows.Forms.Label();
|
||||
this.lbLayerRange = new System.Windows.Forms.Label();
|
||||
this.nmLayerRangeStart = new System.Windows.Forms.NumericUpDown();
|
||||
this.nmLayerRangeEnd = new System.Windows.Forms.NumericUpDown();
|
||||
this.lbLayerRangeTo = new System.Windows.Forms.Label();
|
||||
this.cmLayerRange = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.btnLayerRangeAllLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeCurrentLayer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeBottomLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnLayerRangeNormalLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.nmCols = new System.Windows.Forms.NumericUpDown();
|
||||
this.lbInsideBounds = new System.Windows.Forms.Label();
|
||||
this.lbRows = new System.Windows.Forms.Label();
|
||||
this.lbCols = new System.Windows.Forms.Label();
|
||||
this.lbVolumeHeight = new System.Windows.Forms.Label();
|
||||
this.lbVolumeWidth = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.nmRows = new System.Windows.Forms.NumericUpDown();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.nmMarginRow = new System.Windows.Forms.NumericUpDown();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.nmMarginCol = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnAutoMarginCol = new System.Windows.Forms.Button();
|
||||
this.btnResetDefaults = new System.Windows.Forms.Button();
|
||||
this.btnPattern = new System.Windows.Forms.Button();
|
||||
this.btnAutoMarginRow = new System.Windows.Forms.Button();
|
||||
this.tableAnchor = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.rbAnchorBottomLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorBottomCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorBottomRight = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleRight = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorMiddleLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopCenter = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopLeft = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorTopRight = new System.Windows.Forms.RadioButton();
|
||||
this.rbAnchorNone = new System.Windows.Forms.RadioButton();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.btnLayerRangeSelect = new UVtools.GUI.Controls.SplitButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeEnd)).BeginInit();
|
||||
this.cmLayerRange.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmCols)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmRows)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginRow)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginCol)).BeginInit();
|
||||
this.tableAnchor.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lbDescription
|
||||
//
|
||||
this.lbDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lbDescription.Location = new System.Drawing.Point(13, 14);
|
||||
this.lbDescription.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbDescription.Name = "lbDescription";
|
||||
this.lbDescription.Size = new System.Drawing.Size(584, 39);
|
||||
this.lbDescription.TabIndex = 0;
|
||||
this.lbDescription.Text = "Rectangular pattern the print arround the plate.";
|
||||
//
|
||||
// lbLayerRange
|
||||
//
|
||||
this.lbLayerRange.AutoSize = true;
|
||||
this.lbLayerRange.Location = new System.Drawing.Point(13, 62);
|
||||
this.lbLayerRange.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbLayerRange.Name = "lbLayerRange";
|
||||
this.lbLayerRange.Size = new System.Drawing.Size(97, 20);
|
||||
this.lbLayerRange.TabIndex = 9;
|
||||
this.lbLayerRange.Text = "Layer range:";
|
||||
//
|
||||
// nmLayerRangeStart
|
||||
//
|
||||
this.nmLayerRangeStart.Location = new System.Drawing.Point(118, 59);
|
||||
this.nmLayerRangeStart.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nmLayerRangeStart.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmLayerRangeStart.Name = "nmLayerRangeStart";
|
||||
this.nmLayerRangeStart.Size = new System.Drawing.Size(120, 26);
|
||||
this.nmLayerRangeStart.TabIndex = 0;
|
||||
//
|
||||
// nmLayerRangeEnd
|
||||
//
|
||||
this.nmLayerRangeEnd.Location = new System.Drawing.Point(314, 59);
|
||||
this.nmLayerRangeEnd.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nmLayerRangeEnd.Maximum = new decimal(new int[] {
|
||||
100000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmLayerRangeEnd.Name = "nmLayerRangeEnd";
|
||||
this.nmLayerRangeEnd.Size = new System.Drawing.Size(120, 26);
|
||||
this.nmLayerRangeEnd.TabIndex = 1;
|
||||
//
|
||||
// lbLayerRangeTo
|
||||
//
|
||||
this.lbLayerRangeTo.AutoSize = true;
|
||||
this.lbLayerRangeTo.Location = new System.Drawing.Point(275, 62);
|
||||
this.lbLayerRangeTo.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbLayerRangeTo.Name = "lbLayerRangeTo";
|
||||
this.lbLayerRangeTo.Size = new System.Drawing.Size(31, 20);
|
||||
this.lbLayerRangeTo.TabIndex = 12;
|
||||
this.lbLayerRangeTo.Text = "To:";
|
||||
//
|
||||
// cmLayerRange
|
||||
//
|
||||
this.cmLayerRange.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.btnLayerRangeAllLayers,
|
||||
this.btnLayerRangeCurrentLayer,
|
||||
this.btnLayerRangeBottomLayers,
|
||||
this.btnLayerRangeNormalLayers});
|
||||
this.cmLayerRange.Name = "cmLayerRange";
|
||||
this.cmLayerRange.Size = new System.Drawing.Size(226, 92);
|
||||
//
|
||||
// btnLayerRangeAllLayers
|
||||
//
|
||||
this.btnLayerRangeAllLayers.Name = "btnLayerRangeAllLayers";
|
||||
this.btnLayerRangeAllLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.A)));
|
||||
this.btnLayerRangeAllLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeAllLayers.Text = "&All Layers";
|
||||
this.btnLayerRangeAllLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeCurrentLayer
|
||||
//
|
||||
this.btnLayerRangeCurrentLayer.Name = "btnLayerRangeCurrentLayer";
|
||||
this.btnLayerRangeCurrentLayer.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.C)));
|
||||
this.btnLayerRangeCurrentLayer.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeCurrentLayer.Text = "&Current Layer";
|
||||
this.btnLayerRangeCurrentLayer.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeBottomLayers
|
||||
//
|
||||
this.btnLayerRangeBottomLayers.Name = "btnLayerRangeBottomLayers";
|
||||
this.btnLayerRangeBottomLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.B)));
|
||||
this.btnLayerRangeBottomLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeBottomLayers.Text = "&Bottom Layers";
|
||||
this.btnLayerRangeBottomLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnLayerRangeNormalLayers
|
||||
//
|
||||
this.btnLayerRangeNormalLayers.Name = "btnLayerRangeNormalLayers";
|
||||
this.btnLayerRangeNormalLayers.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.N)));
|
||||
this.btnLayerRangeNormalLayers.Size = new System.Drawing.Size(225, 22);
|
||||
this.btnLayerRangeNormalLayers.Text = "&Normal Layers";
|
||||
this.btnLayerRangeNormalLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(36, 95);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(75, 20);
|
||||
this.label4.TabIndex = 21;
|
||||
this.label4.Text = "Columns:";
|
||||
//
|
||||
// nmCols
|
||||
//
|
||||
this.nmCols.Location = new System.Drawing.Point(118, 93);
|
||||
this.nmCols.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmCols.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmCols.Name = "nmCols";
|
||||
this.nmCols.Size = new System.Drawing.Size(121, 26);
|
||||
this.nmCols.TabIndex = 19;
|
||||
this.nmCols.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmCols.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// lbInsideBounds
|
||||
//
|
||||
this.lbInsideBounds.AutoSize = true;
|
||||
this.lbInsideBounds.Location = new System.Drawing.Point(16, 222);
|
||||
this.lbInsideBounds.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbInsideBounds.Name = "lbInsideBounds";
|
||||
this.lbInsideBounds.Size = new System.Drawing.Size(147, 20);
|
||||
this.lbInsideBounds.TabIndex = 27;
|
||||
this.lbInsideBounds.Text = "Inside Bounds: Yes";
|
||||
//
|
||||
// lbRows
|
||||
//
|
||||
this.lbRows.AutoSize = true;
|
||||
this.lbRows.Location = new System.Drawing.Point(442, 127);
|
||||
this.lbRows.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbRows.Name = "lbRows";
|
||||
this.lbRows.Size = new System.Drawing.Size(53, 20);
|
||||
this.lbRows.TabIndex = 26;
|
||||
this.lbRows.Text = "Rows:";
|
||||
//
|
||||
// lbCols
|
||||
//
|
||||
this.lbCols.AutoSize = true;
|
||||
this.lbCols.Location = new System.Drawing.Point(442, 96);
|
||||
this.lbCols.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbCols.Name = "lbCols";
|
||||
this.lbCols.Size = new System.Drawing.Size(79, 20);
|
||||
this.lbCols.TabIndex = 25;
|
||||
this.lbCols.Text = "Columns: ";
|
||||
//
|
||||
// lbVolumeHeight
|
||||
//
|
||||
this.lbVolumeHeight.AutoSize = true;
|
||||
this.lbVolumeHeight.Location = new System.Drawing.Point(13, 193);
|
||||
this.lbVolumeHeight.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbVolumeHeight.Name = "lbVolumeHeight";
|
||||
this.lbVolumeHeight.Size = new System.Drawing.Size(174, 20);
|
||||
this.lbVolumeHeight.TabIndex = 24;
|
||||
this.lbVolumeHeight.Text = "Volume/Pattern Height:";
|
||||
//
|
||||
// lbVolumeWidth
|
||||
//
|
||||
this.lbVolumeWidth.AutoSize = true;
|
||||
this.lbVolumeWidth.Location = new System.Drawing.Point(13, 164);
|
||||
this.lbVolumeWidth.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.lbVolumeWidth.Name = "lbVolumeWidth";
|
||||
this.lbVolumeWidth.Size = new System.Drawing.Size(168, 20);
|
||||
this.lbVolumeWidth.TabIndex = 23;
|
||||
this.lbVolumeWidth.Text = "Volume/Pattern Width:";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(58, 127);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(53, 20);
|
||||
this.label1.TabIndex = 29;
|
||||
this.label1.Text = "Rows:";
|
||||
//
|
||||
// nmRows
|
||||
//
|
||||
this.nmRows.Location = new System.Drawing.Point(118, 125);
|
||||
this.nmRows.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmRows.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmRows.Name = "nmRows";
|
||||
this.nmRows.Size = new System.Drawing.Size(121, 26);
|
||||
this.nmRows.TabIndex = 28;
|
||||
this.nmRows.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmRows.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(246, 128);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(61, 20);
|
||||
this.label2.TabIndex = 31;
|
||||
this.label2.Text = "Margin:";
|
||||
//
|
||||
// nmMarginRow
|
||||
//
|
||||
this.nmMarginRow.Location = new System.Drawing.Point(314, 125);
|
||||
this.nmMarginRow.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginRow.Name = "nmMarginRow";
|
||||
this.nmMarginRow.Size = new System.Drawing.Size(81, 26);
|
||||
this.nmMarginRow.TabIndex = 30;
|
||||
this.nmMarginRow.Value = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginRow.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(246, 96);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(61, 20);
|
||||
this.label3.TabIndex = 33;
|
||||
this.label3.Text = "Margin:";
|
||||
//
|
||||
// nmMarginCol
|
||||
//
|
||||
this.nmMarginCol.Location = new System.Drawing.Point(314, 93);
|
||||
this.nmMarginCol.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginCol.Name = "nmMarginCol";
|
||||
this.nmMarginCol.Size = new System.Drawing.Size(81, 26);
|
||||
this.nmMarginCol.TabIndex = 32;
|
||||
this.nmMarginCol.Value = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nmMarginCol.ValueChanged += new System.EventHandler(this.EventValueChanged);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Image = global::UVtools.GUI.Properties.Resources.Cancel_24x24;
|
||||
this.btnCancel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnCancel.Location = new System.Drawing.Point(434, 277);
|
||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnCancel.TabIndex = 6;
|
||||
this.btnCancel.Text = "&Cancel";
|
||||
this.btnCancel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnAutoMarginCol
|
||||
//
|
||||
this.btnAutoMarginCol.Image = global::UVtools.GUI.Properties.Resources.resize_16x16;
|
||||
this.btnAutoMarginCol.Location = new System.Drawing.Point(401, 93);
|
||||
this.btnAutoMarginCol.Name = "btnAutoMarginCol";
|
||||
this.btnAutoMarginCol.Size = new System.Drawing.Size(33, 26);
|
||||
this.btnAutoMarginCol.TabIndex = 35;
|
||||
this.btnAutoMarginCol.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnResetDefaults
|
||||
//
|
||||
this.btnResetDefaults.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnResetDefaults.Image = global::UVtools.GUI.Properties.Resources.Rotate_16x16;
|
||||
this.btnResetDefaults.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnResetDefaults.Location = new System.Drawing.Point(13, 277);
|
||||
this.btnResetDefaults.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnResetDefaults.Name = "btnResetDefaults";
|
||||
this.btnResetDefaults.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnResetDefaults.TabIndex = 24;
|
||||
this.btnResetDefaults.Text = "&Reset defaults";
|
||||
this.btnResetDefaults.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnResetDefaults.UseVisualStyleBackColor = true;
|
||||
this.btnResetDefaults.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnPattern
|
||||
//
|
||||
this.btnPattern.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnPattern.Image = global::UVtools.GUI.Properties.Resources.Ok_24x24;
|
||||
this.btnPattern.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnPattern.Location = new System.Drawing.Point(276, 277);
|
||||
this.btnPattern.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.btnPattern.Name = "btnPattern";
|
||||
this.btnPattern.Size = new System.Drawing.Size(150, 48);
|
||||
this.btnPattern.TabIndex = 5;
|
||||
this.btnPattern.Text = "&Pattern";
|
||||
this.btnPattern.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.btnPattern.UseVisualStyleBackColor = true;
|
||||
this.btnPattern.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// btnAutoMarginRow
|
||||
//
|
||||
this.btnAutoMarginRow.Image = global::UVtools.GUI.Properties.Resources.resize_16x16;
|
||||
this.btnAutoMarginRow.Location = new System.Drawing.Point(401, 125);
|
||||
this.btnAutoMarginRow.Name = "btnAutoMarginRow";
|
||||
this.btnAutoMarginRow.Size = new System.Drawing.Size(33, 26);
|
||||
this.btnAutoMarginRow.TabIndex = 36;
|
||||
this.btnAutoMarginRow.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tableAnchor
|
||||
//
|
||||
this.tableAnchor.AutoSize = true;
|
||||
this.tableAnchor.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.tableAnchor.ColumnCount = 4;
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorNone, 3, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomLeft, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomCenter, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorBottomRight, 0, 2);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleRight, 2, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleCenter, 1, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorMiddleLeft, 0, 1);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopCenter, 1, 0);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopLeft, 0, 0);
|
||||
this.tableAnchor.Controls.Add(this.rbAnchorTopRight, 2, 0);
|
||||
this.tableAnchor.Location = new System.Drawing.Point(6, 25);
|
||||
this.tableAnchor.Name = "tableAnchor";
|
||||
this.tableAnchor.RowCount = 3;
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableAnchor.Size = new System.Drawing.Size(131, 68);
|
||||
this.tableAnchor.TabIndex = 38;
|
||||
//
|
||||
// rbAnchorBottomLeft
|
||||
//
|
||||
this.rbAnchorBottomLeft.AutoSize = true;
|
||||
this.rbAnchorBottomLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomLeft.Location = new System.Drawing.Point(23, 52);
|
||||
this.rbAnchorBottomLeft.Name = "rbAnchorBottomLeft";
|
||||
this.rbAnchorBottomLeft.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomLeft.TabIndex = 8;
|
||||
this.rbAnchorBottomLeft.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorBottomCenter
|
||||
//
|
||||
this.rbAnchorBottomCenter.AutoSize = true;
|
||||
this.rbAnchorBottomCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomCenter.Location = new System.Drawing.Point(3, 52);
|
||||
this.rbAnchorBottomCenter.Name = "rbAnchorBottomCenter";
|
||||
this.rbAnchorBottomCenter.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomCenter.TabIndex = 7;
|
||||
this.rbAnchorBottomCenter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorBottomRight
|
||||
//
|
||||
this.rbAnchorBottomRight.AutoSize = true;
|
||||
this.rbAnchorBottomRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorBottomRight.Location = new System.Drawing.Point(43, 52);
|
||||
this.rbAnchorBottomRight.Name = "rbAnchorBottomRight";
|
||||
this.rbAnchorBottomRight.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorBottomRight.TabIndex = 6;
|
||||
this.rbAnchorBottomRight.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorMiddleRight
|
||||
//
|
||||
this.rbAnchorMiddleRight.AutoSize = true;
|
||||
this.rbAnchorMiddleRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleRight.Location = new System.Drawing.Point(43, 22);
|
||||
this.rbAnchorMiddleRight.Name = "rbAnchorMiddleRight";
|
||||
this.rbAnchorMiddleRight.Size = new System.Drawing.Size(14, 24);
|
||||
this.rbAnchorMiddleRight.TabIndex = 5;
|
||||
this.rbAnchorMiddleRight.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorMiddleCenter
|
||||
//
|
||||
this.rbAnchorMiddleCenter.AutoSize = true;
|
||||
this.rbAnchorMiddleCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleCenter.Location = new System.Drawing.Point(23, 22);
|
||||
this.rbAnchorMiddleCenter.Name = "rbAnchorMiddleCenter";
|
||||
this.rbAnchorMiddleCenter.Size = new System.Drawing.Size(14, 24);
|
||||
this.rbAnchorMiddleCenter.TabIndex = 4;
|
||||
this.rbAnchorMiddleCenter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorMiddleLeft
|
||||
//
|
||||
this.rbAnchorMiddleLeft.AutoSize = true;
|
||||
this.rbAnchorMiddleLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorMiddleLeft.Location = new System.Drawing.Point(3, 22);
|
||||
this.rbAnchorMiddleLeft.Name = "rbAnchorMiddleLeft";
|
||||
this.rbAnchorMiddleLeft.Size = new System.Drawing.Size(14, 24);
|
||||
this.rbAnchorMiddleLeft.TabIndex = 3;
|
||||
this.rbAnchorMiddleLeft.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorTopCenter
|
||||
//
|
||||
this.rbAnchorTopCenter.AutoSize = true;
|
||||
this.rbAnchorTopCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopCenter.Location = new System.Drawing.Point(23, 3);
|
||||
this.rbAnchorTopCenter.Name = "rbAnchorTopCenter";
|
||||
this.rbAnchorTopCenter.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopCenter.TabIndex = 2;
|
||||
this.rbAnchorTopCenter.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorTopLeft
|
||||
//
|
||||
this.rbAnchorTopLeft.AutoSize = true;
|
||||
this.rbAnchorTopLeft.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopLeft.Location = new System.Drawing.Point(3, 3);
|
||||
this.rbAnchorTopLeft.Name = "rbAnchorTopLeft";
|
||||
this.rbAnchorTopLeft.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopLeft.TabIndex = 1;
|
||||
this.rbAnchorTopLeft.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorTopRight
|
||||
//
|
||||
this.rbAnchorTopRight.AutoSize = true;
|
||||
this.rbAnchorTopRight.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rbAnchorTopRight.Location = new System.Drawing.Point(43, 3);
|
||||
this.rbAnchorTopRight.Name = "rbAnchorTopRight";
|
||||
this.rbAnchorTopRight.Size = new System.Drawing.Size(14, 13);
|
||||
this.rbAnchorTopRight.TabIndex = 0;
|
||||
this.rbAnchorTopRight.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rbAnchorNone
|
||||
//
|
||||
this.rbAnchorNone.AutoSize = true;
|
||||
this.rbAnchorNone.Checked = true;
|
||||
this.rbAnchorNone.Location = new System.Drawing.Point(63, 22);
|
||||
this.rbAnchorNone.Name = "rbAnchorNone";
|
||||
this.rbAnchorNone.Size = new System.Drawing.Size(65, 24);
|
||||
this.rbAnchorNone.TabIndex = 39;
|
||||
this.rbAnchorNone.TabStop = true;
|
||||
this.rbAnchorNone.Text = "None";
|
||||
this.rbAnchorNone.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.tableAnchor);
|
||||
this.groupBox1.Location = new System.Drawing.Point(441, 164);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(143, 105);
|
||||
this.groupBox1.TabIndex = 39;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Anchor";
|
||||
//
|
||||
// btnLayerRangeSelect
|
||||
//
|
||||
this.btnLayerRangeSelect.Location = new System.Drawing.Point(446, 58);
|
||||
this.btnLayerRangeSelect.Menu = this.cmLayerRange;
|
||||
this.btnLayerRangeSelect.Name = "btnLayerRangeSelect";
|
||||
this.btnLayerRangeSelect.Size = new System.Drawing.Size(138, 26);
|
||||
this.btnLayerRangeSelect.TabIndex = 2;
|
||||
this.btnLayerRangeSelect.Text = "Select";
|
||||
this.btnLayerRangeSelect.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FrmToolPattern
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(599, 339);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.btnAutoMarginRow);
|
||||
this.Controls.Add(this.btnAutoMarginCol);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.nmMarginCol);
|
||||
this.Controls.Add(this.btnResetDefaults);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.nmMarginRow);
|
||||
this.Controls.Add(this.btnLayerRangeSelect);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.lbLayerRangeTo);
|
||||
this.Controls.Add(this.nmRows);
|
||||
this.Controls.Add(this.nmLayerRangeEnd);
|
||||
this.Controls.Add(this.lbInsideBounds);
|
||||
this.Controls.Add(this.nmLayerRangeStart);
|
||||
this.Controls.Add(this.lbRows);
|
||||
this.Controls.Add(this.lbLayerRange);
|
||||
this.Controls.Add(this.lbCols);
|
||||
this.Controls.Add(this.btnPattern);
|
||||
this.Controls.Add(this.lbVolumeHeight);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.lbVolumeWidth);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.lbDescription);
|
||||
this.Controls.Add(this.nmCols);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.KeyPreview = true;
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmToolPattern";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Pattern";
|
||||
this.TopMost = true;
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeStart)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmLayerRangeEnd)).EndInit();
|
||||
this.cmLayerRange.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmCols)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmRows)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginRow)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nmMarginCol)).EndInit();
|
||||
this.tableAnchor.ResumeLayout(false);
|
||||
this.tableAnchor.PerformLayout();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label lbDescription;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Button btnPattern;
|
||||
private System.Windows.Forms.Label lbLayerRange;
|
||||
private System.Windows.Forms.NumericUpDown nmLayerRangeStart;
|
||||
private System.Windows.Forms.NumericUpDown nmLayerRangeEnd;
|
||||
private System.Windows.Forms.Label lbLayerRangeTo;
|
||||
private Controls.SplitButton btnLayerRangeSelect;
|
||||
private System.Windows.Forms.ContextMenuStrip cmLayerRange;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeAllLayers;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeCurrentLayer;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeBottomLayers;
|
||||
private System.Windows.Forms.ToolStripMenuItem btnLayerRangeNormalLayers;
|
||||
private System.Windows.Forms.NumericUpDown nmCols;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Button btnResetDefaults;
|
||||
private System.Windows.Forms.Label lbVolumeHeight;
|
||||
private System.Windows.Forms.Label lbVolumeWidth;
|
||||
private System.Windows.Forms.Label lbCols;
|
||||
private System.Windows.Forms.Label lbRows;
|
||||
private System.Windows.Forms.Label lbInsideBounds;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.NumericUpDown nmRows;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginCol;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.NumericUpDown nmMarginRow;
|
||||
private System.Windows.Forms.Button btnAutoMarginCol;
|
||||
private System.Windows.Forms.Button btnAutoMarginRow;
|
||||
private System.Windows.Forms.TableLayoutPanel tableAnchor;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomLeft;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorBottomRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorMiddleLeft;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopCenter;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopLeft;
|
||||
private System.Windows.Forms.RadioButton rbAnchorTopRight;
|
||||
private System.Windows.Forms.RadioButton rbAnchorNone;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
/*
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* Version 3, 19 November 2007
|
||||
* Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
* Everyone is permitted to copy and distribute verbatim copies
|
||||
* of this license document, but changing it is not allowed.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using UVtools.Core;
|
||||
|
||||
namespace UVtools.GUI.Forms
|
||||
{
|
||||
public partial class FrmToolPattern : Form
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public uint LayerRangeStart
|
||||
{
|
||||
get => (uint) nmLayerRangeStart.Value;
|
||||
set => nmLayerRangeStart.Value = value;
|
||||
}
|
||||
|
||||
public uint LayerRangeEnd
|
||||
{
|
||||
get => (uint)Math.Min(nmLayerRangeEnd.Value, Program.SlicerFile.LayerCount-1);
|
||||
set => nmLayerRangeEnd.Value = value;
|
||||
}
|
||||
|
||||
private readonly OperationPattern _operation;
|
||||
|
||||
public OperationPattern OperationPattern
|
||||
{
|
||||
get
|
||||
{
|
||||
byte i = 0;
|
||||
foreach (var radioButton in new[]
|
||||
{
|
||||
rbAnchorTopLeft, rbAnchorTopCenter, rbAnchorTopRight,
|
||||
rbAnchorMiddleLeft, rbAnchorMiddleCenter, rbAnchorMiddleRight,
|
||||
rbAnchorBottomLeft, rbAnchorBottomCenter, rbAnchorBottomRight,
|
||||
rbAnchorNone
|
||||
})
|
||||
{
|
||||
if (radioButton.Checked)
|
||||
{
|
||||
_operation.Anchor = (Anchor)i;
|
||||
break;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
_operation.MarginCol = (ushort)nmMarginCol.Value;
|
||||
_operation.MarginRow = (ushort)nmMarginRow.Value;
|
||||
|
||||
_operation.Cols = (ushort) nmCols.Value;
|
||||
_operation.Rows = (ushort) nmRows.Value;
|
||||
|
||||
return _operation;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
public FrmToolPattern(Rectangle srcRoi, uint imageWidth, uint imageHeight)
|
||||
{
|
||||
InitializeComponent();
|
||||
_operation = new OperationPattern(srcRoi, imageWidth, imageHeight);
|
||||
DialogResult = DialogResult.Cancel;
|
||||
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount-1;
|
||||
|
||||
EventClick(btnResetDefaults, null);
|
||||
//EventValueChanged(this, null);
|
||||
|
||||
nmCols.Maximum = _operation.MaxCols;
|
||||
nmRows.Maximum = _operation.MaxRows;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Overrides
|
||||
protected override void OnKeyUp(KeyEventArgs e)
|
||||
{
|
||||
base.OnKeyUp(e);
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
btnPattern.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((ModifierKeys & Keys.Shift) == Keys.Shift && (ModifierKeys & Keys.Control) == Keys.Control)
|
||||
{
|
||||
if (e.KeyCode == Keys.A)
|
||||
{
|
||||
btnLayerRangeAllLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.C)
|
||||
{
|
||||
btnLayerRangeCurrentLayer.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.B)
|
||||
{
|
||||
btnLayerRangeBottomLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.KeyCode == Keys.N)
|
||||
{
|
||||
btnLayerRangeNormalLayers.PerformClick();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
private void EventClick(object sender, EventArgs e)
|
||||
{
|
||||
if (ReferenceEquals(sender, btnLayerRangeAllLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = 0;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount-1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeCurrentLayer))
|
||||
{
|
||||
nmLayerRangeStart.Value = Program.FrmMain.ActualLayer;
|
||||
nmLayerRangeEnd.Value = Program.FrmMain.ActualLayer;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeBottomLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = 0;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.InitialLayerCount-1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnLayerRangeNormalLayers))
|
||||
{
|
||||
nmLayerRangeStart.Value = Program.SlicerFile.InitialLayerCount - 1;
|
||||
nmLayerRangeEnd.Value = Program.SlicerFile.LayerCount - 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnAutoMarginCol))
|
||||
{
|
||||
nmMarginCol.Value = _operation.CalculateMarginCol((ushort) nmCols.Value);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnAutoMarginRow))
|
||||
{
|
||||
nmMarginRow.Value = _operation.CalculateMarginRow((ushort)nmRows.Value);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnResetDefaults))
|
||||
{
|
||||
nmMarginCol.Value = _operation.MaxMarginCol;
|
||||
nmMarginRow.Value = _operation.MaxMarginRow;
|
||||
nmCols.Value = _operation.MaxCols;
|
||||
nmRows.Value = _operation.MaxRows;
|
||||
_operation.Fill();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnPattern))
|
||||
{
|
||||
if (!btnPattern.Enabled) return;
|
||||
if (LayerRangeStart > LayerRangeEnd)
|
||||
{
|
||||
MessageBox.Show("Layer range start can't be higher than layer end.\nPlease fix and try again.", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
nmLayerRangeStart.Select();
|
||||
return;
|
||||
}
|
||||
|
||||
if (nmCols.Value == 1 && nmRows.Value == 1)
|
||||
{
|
||||
MessageBox.Show("Either columns or rows must be greater than 1 to be able to run this tool", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
nmLayerRangeStart.Select();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ValidateBounds())
|
||||
{
|
||||
MessageBox.Show("Your parameters will put the object out of build plate, please adjust the margins", Text, MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (MessageBox.Show($"Are you sure you want to Pattern?", Text, MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, btnCancel))
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void EventValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
var insideBounds = btnPattern.Enabled = ValidateBounds();
|
||||
lbInsideBounds.Text = "Inside Bounds: " + (insideBounds ? "Yes" : "No");
|
||||
|
||||
lbVolumeWidth.Text = $"Volume/Pattern Width: {_operation.SrcRoi.Width} / {_operation.CalculatePatternVolume.Width} / {_operation.ImageWidth}";
|
||||
lbVolumeHeight.Text = $"Volume/Pattern Height: {_operation.SrcRoi.Height} / {_operation.CalculatePatternVolume.Height} / {_operation.ImageHeight}";
|
||||
|
||||
lbCols.Text = $"Columns: {nmCols.Value} / {_operation.MaxCols}";
|
||||
lbRows.Text = $"Rows: {nmRows.Value} / {_operation.MaxRows}";
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
public bool ValidateBounds()
|
||||
{
|
||||
var volume = OperationPattern.CalculatePatternVolume;
|
||||
if (volume.Width > _operation.ImageWidth) return false;
|
||||
if (volume.Height > _operation.ImageHeight) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Generated
+44
-7
@@ -49,6 +49,7 @@
|
||||
this.menuMutate = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuTools = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuToolsRepairLayers = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuToolsPattern = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuHelpWebsite = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -94,7 +95,9 @@
|
||||
this.tsThumbnailsPrevious = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsThumbnailsCount = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tsThumbnailsNext = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsThumbnailsExport = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsThumbnailsExport = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.tsThumbnailsExportFile = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsThumbnailsExportClipboard = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsThumbnailsResolution = new System.Windows.Forms.ToolStripLabel();
|
||||
this.lvProperties = new System.Windows.Forms.ListView();
|
||||
this.lvChKey = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
@@ -333,7 +336,8 @@
|
||||
// menuTools
|
||||
//
|
||||
this.menuTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuToolsRepairLayers});
|
||||
this.menuToolsRepairLayers,
|
||||
this.menuToolsPattern});
|
||||
this.menuTools.Enabled = false;
|
||||
this.menuTools.Name = "menuTools";
|
||||
this.menuTools.Size = new System.Drawing.Size(46, 20);
|
||||
@@ -350,6 +354,17 @@
|
||||
this.menuToolsRepairLayers.Text = "&Repair layers and Issues";
|
||||
this.menuToolsRepairLayers.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// menuToolsPattern
|
||||
//
|
||||
this.menuToolsPattern.Enabled = false;
|
||||
this.menuToolsPattern.Image = global::UVtools.GUI.Properties.Resources.pattern_16x16;
|
||||
this.menuToolsPattern.Name = "menuToolsPattern";
|
||||
this.menuToolsPattern.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
|
||||
| System.Windows.Forms.Keys.P)));
|
||||
this.menuToolsPattern.Size = new System.Drawing.Size(261, 22);
|
||||
this.menuToolsPattern.Text = "&Pattern";
|
||||
this.menuToolsPattern.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// viewToolStripMenuItem
|
||||
//
|
||||
this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
|
||||
@@ -825,14 +840,33 @@
|
||||
//
|
||||
this.tsThumbnailsExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsThumbnailsExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.tsThumbnailsExport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsThumbnailsExportFile,
|
||||
this.tsThumbnailsExportClipboard});
|
||||
this.tsThumbnailsExport.Enabled = false;
|
||||
this.tsThumbnailsExport.Image = global::UVtools.GUI.Properties.Resources.Save_16x16;
|
||||
this.tsThumbnailsExport.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsThumbnailsExport.Name = "tsThumbnailsExport";
|
||||
this.tsThumbnailsExport.Size = new System.Drawing.Size(23, 22);
|
||||
this.tsThumbnailsExport.Text = "Save Thumbnail";
|
||||
this.tsThumbnailsExport.ToolTipText = "Save thumbnail to file";
|
||||
this.tsThumbnailsExport.Click += new System.EventHandler(this.EventClick);
|
||||
this.tsThumbnailsExport.Size = new System.Drawing.Size(32, 22);
|
||||
this.tsThumbnailsExport.Text = "Save to";
|
||||
this.tsThumbnailsExport.ToolTipText = "Save thumbnail image to a file or clipboard";
|
||||
this.tsThumbnailsExport.ButtonClick += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tsThumbnailsExportFile
|
||||
//
|
||||
this.tsThumbnailsExportFile.Image = global::UVtools.GUI.Properties.Resources.file_image_16x16;
|
||||
this.tsThumbnailsExportFile.Name = "tsThumbnailsExportFile";
|
||||
this.tsThumbnailsExportFile.Size = new System.Drawing.Size(180, 22);
|
||||
this.tsThumbnailsExportFile.Text = "To &File";
|
||||
this.tsThumbnailsExportFile.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tsThumbnailsExportClipboard
|
||||
//
|
||||
this.tsThumbnailsExportClipboard.Image = global::UVtools.GUI.Properties.Resources.clipboard_16x16;
|
||||
this.tsThumbnailsExportClipboard.Name = "tsThumbnailsExportClipboard";
|
||||
this.tsThumbnailsExportClipboard.Size = new System.Drawing.Size(180, 22);
|
||||
this.tsThumbnailsExportClipboard.Text = "To &Clipboard";
|
||||
this.tsThumbnailsExportClipboard.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tsThumbnailsResolution
|
||||
//
|
||||
@@ -1427,7 +1461,6 @@
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsPrevious;
|
||||
private System.Windows.Forms.ToolStripLabel tsThumbnailsCount;
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsNext;
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsExport;
|
||||
private System.Windows.Forms.ToolStripLabel tsThumbnailsResolution;
|
||||
private System.Windows.Forms.TabPage tabPageGCode;
|
||||
private System.Windows.Forms.ImageList imageList16x16;
|
||||
@@ -1509,6 +1542,10 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem tsLayerImageLayerOutlinePrintVolumeBounds;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsLayerImageLayerOutlineLayerBounds;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsLayerImageLayerOutlineHollowAreas;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuToolsPattern;
|
||||
private System.Windows.Forms.ToolStripSplitButton tsThumbnailsExport;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsThumbnailsExportFile;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsThumbnailsExportClipboard;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+87
-6
@@ -37,6 +37,10 @@ namespace UVtools.GUI
|
||||
public static readonly Dictionary<LayerManager.Mutate, Mutation> Mutations =
|
||||
new Dictionary<LayerManager.Mutate, Mutation>
|
||||
{
|
||||
{LayerManager.Mutate.Move, new Mutation(LayerManager.Mutate.Move, null,
|
||||
"Moves the entire print volume around the plate.\n" +
|
||||
"Note: Margins are in pixel values"
|
||||
)},
|
||||
{LayerManager.Mutate.Resize, new Mutation(LayerManager.Mutate.Resize, null,
|
||||
"Resizes layer images in a X and/or Y factor, starting from 100% value\n" +
|
||||
"NOTE 1: Build volume bounds are not validated after operation, please ensure scaling stays inside your limits.\n" +
|
||||
@@ -55,11 +59,11 @@ namespace UVtools.GUI
|
||||
)},
|
||||
{LayerManager.Mutate.Erode, new Mutation(LayerManager.Mutate.Erode, null,
|
||||
"The basic idea of erosion is just like soil erosion only, it erodes away the boundaries of foreground object (Always try to keep foreground in white). " +
|
||||
"So what happends is that, all the pixels near boundary will be discarded depending upon the size of kernel. So the thickness or size of the foreground object decreases or simply white region decreases in the image. It is useful for removing small white noises, detach two connected objects, etc.",
|
||||
"So what happens is that, all the pixels near boundary will be discarded depending upon the size of kernel. So the thickness or size of the foreground object decreases or simply white region decreases in the image. It is useful for removing small white noises, detach two connected objects, etc.",
|
||||
Properties.Resources.mutation_erosion
|
||||
)},
|
||||
{LayerManager.Mutate.Dilate, new Mutation(LayerManager.Mutate.Dilate, null,
|
||||
"It is just opposite of erosion. Here, a pixel element is '1' if atleast one pixel under the kernel is '1'. So it increases the white region in the image or size of foreground object increases. Normally, in cases like noise removal, erosion is followed by dilation. Because, erosion removes white noises, but it also shrinks our object. So we dilate it. Since noise is gone, they won't come back, but our object area increases. It is also useful in joining broken parts of an object.",
|
||||
"It is just opposite of erosion. Here, a pixel element is '1' if at least one pixel under the kernel is '1'. So it increases the white region in the image or size of foreground object increases. Normally, in cases like noise removal, erosion is followed by dilation. Because, erosion removes white noises, but it also shrinks our object. So we dilate it. Since noise is gone, they won't come back, but our object area increases. It is also useful in joining broken parts of an object.",
|
||||
Resources.mutation_dilation
|
||||
)},
|
||||
{LayerManager.Mutate.Opening, new Mutation(LayerManager.Mutate.Opening, "Noise Removal",
|
||||
@@ -354,8 +358,9 @@ namespace UVtools.GUI
|
||||
using (OpenFileDialog openFile = new OpenFileDialog())
|
||||
{
|
||||
openFile.CheckFileExists = true;
|
||||
|
||||
openFile.Filter = FileFormat.AllFileFilters;
|
||||
openFile.FilterIndex = 0;
|
||||
openFile.FilterIndex = Settings.Default.DefaultOpenFileExtension+1;
|
||||
if (openFile.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
try
|
||||
@@ -379,7 +384,7 @@ namespace UVtools.GUI
|
||||
{
|
||||
openFile.CheckFileExists = true;
|
||||
openFile.Filter = FileFormat.AllFileFilters;
|
||||
openFile.FilterIndex = 0;
|
||||
openFile.FilterIndex = Settings.Default.DefaultOpenFileExtension + 1;
|
||||
if (openFile.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Program.NewInstance(openFile.FileName);
|
||||
@@ -706,6 +711,51 @@ namespace UVtools.GUI
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, menuToolsPattern))
|
||||
{
|
||||
using (var frm = new FrmToolPattern(SlicerFile.LayerManager.BoundingRectangle, (uint) ActualLayerImage.Width, (uint) ActualLayerImage.Height))
|
||||
{
|
||||
if (frm.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
DisableGUI();
|
||||
FrmLoading.SetDescription("Pattern");
|
||||
|
||||
var task = Task.Factory.StartNew(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
SlicerFile.LayerManager.ToolPattern(frm.LayerRangeStart, frm.LayerRangeEnd, frm.OperationPattern, FrmLoading.RestartProgress());
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Invoke((MethodInvoker)delegate
|
||||
{
|
||||
// Running on the UI thread
|
||||
EnableGUI(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var loadingResult = FrmLoading.ShowDialog();
|
||||
|
||||
ShowLayer();
|
||||
|
||||
menuFileSave.Enabled =
|
||||
menuFileSaveAs.Enabled = true;
|
||||
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// About
|
||||
if (ReferenceEquals(sender, menuHelpAbout))
|
||||
{
|
||||
@@ -837,6 +887,12 @@ namespace UVtools.GUI
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, tsThumbnailsExport))
|
||||
{
|
||||
tsThumbnailsExport.ShowDropDown();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, tsThumbnailsExportFile))
|
||||
{
|
||||
using (SaveFileDialog dialog = new SaveFileDialog())
|
||||
{
|
||||
@@ -855,9 +911,14 @@ namespace UVtools.GUI
|
||||
{
|
||||
SlicerFile.Thumbnails[i].Save(dialog.FileName);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, tsThumbnailsExportClipboard))
|
||||
{
|
||||
Clipboard.SetImage(pbThumbnail.Image);
|
||||
return;
|
||||
}
|
||||
|
||||
/************************
|
||||
@@ -2273,6 +2334,11 @@ namespace UVtools.GUI
|
||||
ZoomToFit();
|
||||
return;
|
||||
}
|
||||
if ((e.Button & MouseButtons.Middle) != 0)
|
||||
{
|
||||
pbLayer.ZoomToFit();
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -2334,11 +2400,23 @@ namespace UVtools.GUI
|
||||
uint iterationsEnd = 0;
|
||||
bool fade = false;
|
||||
|
||||
OperationMove operationMove = null;
|
||||
|
||||
double x = 0;
|
||||
double y = 0;
|
||||
|
||||
switch (mutator)
|
||||
{
|
||||
case LayerManager.Mutate.Move:
|
||||
using (FrmMutationMove inputBox = new FrmMutationMove(Mutations[mutator], SlicerFile.LayerManager.BoundingRectangle, (uint) ActualLayerImage.Width, (uint) ActualLayerImage.Height))
|
||||
{
|
||||
if (inputBox.ShowDialog() != DialogResult.OK) return;
|
||||
layerStart = inputBox.LayerRangeStart;
|
||||
layerEnd = inputBox.LayerRangeEnd;
|
||||
operationMove = inputBox.OperationMove;
|
||||
}
|
||||
|
||||
break;
|
||||
case LayerManager.Mutate.Resize:
|
||||
using (FrmMutationResize inputBox = new FrmMutationResize(Mutations[mutator]))
|
||||
{
|
||||
@@ -2396,6 +2474,9 @@ namespace UVtools.GUI
|
||||
{
|
||||
switch (mutator)
|
||||
{
|
||||
case LayerManager.Mutate.Move:
|
||||
SlicerFile.LayerManager.MutateMove(layerStart, layerEnd, operationMove, progress);
|
||||
break;
|
||||
case LayerManager.Mutate.Resize:
|
||||
SlicerFile.LayerManager.MutateResize(layerStart, layerEnd, x / 100.0, y / 100.0, fade, progress);
|
||||
break;
|
||||
|
||||
+70
-61
@@ -145,70 +145,79 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAs
|
||||
DgAAAk1TRnQBSQFMAgEBBAEAAbgBBAG4AQQBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAo
|
||||
DgAAAk1TRnQBSQFMAgEBBAEAAdgBBAHYAQQBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AZgADUAGjA1IBqQNS
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAVkBXgH1
|
||||
AVECbQH3A0MBdwNbAcgCQgFaAfUCWAFfAeMDSgGMAwoBDQQAA1UBtANZAccDLwFJAwABAQMbASYDHAEn
|
||||
AxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAwIBAwQAA1IBqTAAA1IBqRAAAycBOgMw
|
||||
AUwDMAFMAzABTAMwAUwDMAFMAzABTAMwAUwDMAFMAycBOhQAAwUBBwNMAZIBVgJYAcEDFQEdAz0BaQEA
|
||||
AcgB8wH/AQQBkAHmAf8CGgHcAf8CGgHdAf8CTwHjAf8CJQHeAf8CGgHdAf8CWAFbAcsDBgEIAwAB/wMA
|
||||
Af8DQwF3AykBPgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AzIBUQQA
|
||||
A1IBqQQAA1ABnQNTAaoDUwGqA1MBqgNTAaoDUwGqA1MBqgNQAZ0MAANSAakQAANOAfsDAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wNOAfsUAAEwAjEBTQEAAckB8wH/AQAByQH0Af8BWQJgAesBWwJe
|
||||
AdkBAAHAAfEB/wEbASMB3wH/Ah0B4AH/Ah0B4AH/AlYB6QH/AigB4gH/Ah0B4AH/Ah0B4AH/A0ABcQNR
|
||||
AaIDVgG2AyoBQAQAAxABFQMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMQARYIAANS
|
||||
AakEAANQAZ0DUwGqA1MBqgMfASwcAANSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/FAADBwEKAVkCZwHyAQABygH0Af8BAAHKAfQB/wEAAcoB9AH/AQUBoQHuAf8CIAHjAf8CIAHj
|
||||
Af8CIAHjAf8CqQHvAf8CJwHjAf8CIAHjAf8CIAHjAf8CVgFYAbkDCgEOAxEBFwMAAQE4AANSAakwAANS
|
||||
AakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADFQEdAz0BaQM6AWIBXAJg
|
||||
AdQBAAHLAfUB/wEAAcsB9QH/AQABywH1Af8BCAGgAfAB/wIjAeYB/wIjAeYB/wIjAeYB/wLCAfYB/wI7
|
||||
AegB/wIjAeYB/wIjAeYB/wJXAVkBvwNSAfQDAAH/Az4BbAMOARMDQgF2A0MBdwNDAXcDQwF3A0MBdwND
|
||||
AXcDQwF3A0MBdwNDAXcDQwF3A0IBdgMUARsEAANSAakDIgEyA1IBqQNSAakDUgGpA1IBqQNSAakDUgGp
|
||||
A1IBqQNSAakDUgGpA1IBqQMiATIDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wwAAUsCTAGQAQABywH2Af8BAAHLAfYB/wEAAcsB9gH/AQABywH2Af8BKQFyAXoB+gNDAXgDIgEy
|
||||
AksBiAH7AiYB6QH/AiYB6QH/As0B+AH/AkoB7QH/AiYB6QH/AiYB6QH/A1ABngMAAf4DAAH/A0MBdwMe
|
||||
ASsDVwHFA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1gBxgMmATkEAANSAakDNAFV
|
||||
AzQBVSAAAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwA
|
||||
A1EBoAEAAcwB9wH/AQABzAH3Af8BAAHMAfcB/wEAAcwB9wH/A0MBdwgAA0oBjQIpAewB/wIpAewB/wJF
|
||||
Ae8B/wItAewB/wIpAewB/wElATYB7QH/AVICUwGoAzMBUwM8AWcDFAEcOAADUgGpAzQBVQM0AVUDRgGA
|
||||
A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA0UBfwM0AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8PAAEBAT8CQAFvAT4BcAF1AfgBAAHNAfcB/wEAAc0B9wH/AxIBGAgA
|
||||
AwEBAgNGAX4CUgFdAfACLAHuAf8BLAEtAe4B/wJAAasB/QFFAkYBfgMDAQQDMwFTAzwBZwMUARw4AANS
|
||||
AakDNAFVAzQBVQM/AW4DMgFQEAADJwE7A0QBfAM0AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8PAAEBAT8CQAFvAT4BcAF1AfgBAAHOAfgB/wEAAc4B+AH/AxIBGBAA
|
||||
AxcBIAEGAbwB9wH/AQMBxAH3Af8BQAGoAa0B/QFFAkYBfgMDAQQDAAH+AwAB/wNDAXcDHwEsA1cBxQNZ
|
||||
AccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNYAcYDJgE5BAADUgGpAzQBVQM0AVUDBQEH
|
||||
A1UBtQMRARcDUgGpAykBPgQAA1ABnwMRARcDNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/DAADUQGgAQEBzgH4Af8BAQHPAfkB/wEBAc8B+QH/AQEBzwH5Af8DQwF3
|
||||
EAADRAF6AQEBzwH5Af8BAQHPAfkB/wEBAc8B+QH/AQEBzgH4Af8BUgJTAagDUgH0AwAB/wM+AWwDDgET
|
||||
A0IBdQNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDFAEbBAADUgGpAzQBVQM0
|
||||
AVUEAAM8AWgDVgG+AyMBNANVAbUDEgEZA1EBoAQAAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/A1wB3wwAAUsCTAGQAQIB0AH6Af8BAgHQAfoB/wECAdAB+gH/AQIB0AH6
|
||||
Af8BKQFyAXoB+gNDAXgDEgEZAxMBGgNEAXoBKAGCAYsB+wECAdAB+gH/AQIB0AH6Af8BAgHQAfoB/wEC
|
||||
AdAB+gH/A0oBjAMKAQ4DEQEXAwABATgAA1IBqQM0AVUDNAFVAwABAQMtAUYDCgEOBAADOQFfA1wBzgMo
|
||||
ATwEAAM0AVUDNAFVA1IBqRMAAf8DggH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1wB3wMXASAMAAMV
|
||||
AR0DPQFpAzoBYgFcAmAB1AEDAdEB+gH/AQMB0QH6Af8BAwHQAfoB/wEDAcsB8wH/AQMBywHzAf8BAwHQ
|
||||
AfoB/wEDAdEB+gH/AQMB0QH6Af8BXQJhAeIDOgFiAz0BaQMUARwDUQGiA1YBtgMqAUAEAAMQARUDEQEX
|
||||
AxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEAEWCAADUgGpAzQBVQM0AVUDMwFTA1IBpgNK
|
||||
AYwHAAEBA0cBgwgAAzQBVQM0AVUDUgGpEwAB/wOZAf8DhQH/AwAB/wMAAf8DAAH/AwAB/wNcAd8DFwEg
|
||||
GAADBwEKAVkCZwHyAQUB0gH7Af8BBQHSAfsB/wEFAdIB+wH/AQUB0gH7Af8BBQHSAfsB/wEFAdIB+wH/
|
||||
AQUB0gH7Af8BBQHSAfsB/wErAYMBiwH7AxEBFwsAAf8DAAH/A0MBdwMpAT4DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMyAVEEAANSAakDNAFVAzQBVQMRARcDUAGeAyQBNhQA
|
||||
AzQBVQM0AVUDUgGpEAADUAH7AwAB/wMAAf8DAAH/AwAB/wMAAf8DXAHfAxcBIBwAATACMQFNAQYB0gH8
|
||||
Af8BBgHSAfwB/wFZAmAB6wFbAl4B2QEGAdIB/AH/AQYB0gH8Af8BWwJhAeEBXQJhAeIBBgHSAfwB/wEG
|
||||
AdIB/AH/AzgBXggAA1UBtANZAccDLwFJAwABAQMbASYDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEn
|
||||
AxwBJwMcAScDHAEnAwIBAwQAA1IBqQMiATIDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNS
|
||||
AakDUgGpAyIBMgNSAakQAAMgAS4DKQE/AykBPwMpAT8DKQE/AykBPwMRARcgAAMFAQcDTAGSAVYCWAHB
|
||||
AxUBHQM9AWkBBwHTAfwB/wEHAdMB/AH/AUUCRgF/AxABFQNWAbMBSwJMAY8DBAEGTAADUAGjA1IBqQNS
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAVoBYgH1
|
||||
AVEBbQF0AfcDIAEvGAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4EAAv8BgAEB
|
||||
Av8B/AEBAgABvwH9AeABBwHAAwABoAEdAeABBwHAAQABEAEBAaEB/QHgAQcBwAEAAR8B/wG/Af0B4AEH
|
||||
BAABgAEBAeABBwQAAY8B8QHgAQcBAwEAAR8B/wGAAQEB4AEHAQMBAAEfAf8BgwHBAeABBwEDAcACAAGA
|
||||
AUEB4AEHAQMBwAIAAYgBEQHgAQcCAAEfAf8BgQERAeABBwIAARABAQGBATEB4AEPAcABAwIAAYEB8QHg
|
||||
AR8BwAEDAgABgAEBAeABPwHAAQMC/wGAAQEC/wH8AT8L
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAlkB9QFR
|
||||
Am0B9wNDAXcDWwHIAkIBWQH1AlgBXwHjA0oBjAMKAQ0EAANVAbQDWQHHAy8BSQMAAQEDGwEmAxwBJwMc
|
||||
AScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMCAQMEAANSAakwAANSAakQAAMnAToDMAFM
|
||||
AzABTAMwAUwDMAFMAzABTAMwAUwDMAFMAzABTAMnAToUAAMFAQcDTAGSAVYCWAHBAxUBHQM9AWkBAAHI
|
||||
AfMB/wEAAZAB5gH/AhYB3AH/AhYB3QH/AksB4wH/AiEB3gH/AhYB3QH/AlgBWwHLAwYBCAMAAf8DAAH/
|
||||
A0MBdwMpAT4DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMyAVEEAANS
|
||||
AakEAANQAZ0DUwGqA1MBqgNTAaoDUwGqA1MBqgNTAaoDUAGdDAADUgGpEAADTgH7AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DTgH7FAABMAIxAU0BAAHJAfMB/wEAAckB9AH/AVkCYAHrAVsCXgHZ
|
||||
AQABwAHxAf8BFwEfAd8B/wIZAeAB/wIZAeAB/wJSAekB/wIkAeIB/wIZAeAB/wIZAeAB/wNAAXEDUQGi
|
||||
A1YBtgMqAUAEAAMQARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEAEWCAADUgGp
|
||||
BAADUAGdA1MBqgNTAaoDHwEsHAADUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/xQAAwcBCgFZAmcB8gEAAcoB9AH/AQABygH0Af8BAAHKAfQB/wEBAaEB7gH/AhwB4wH/AhwB4wH/
|
||||
AhwB4wH/AqkB7wH/AiMB4wH/AhwB4wH/AhwB4wH/AlYBWAG5AwoBDgMRARcDAAEBOAADUgGpMAADUgGp
|
||||
EwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAAxUBHQM9AWkDOgFiAVwCYAHU
|
||||
AQABywH1Af8BAAHLAfUB/wEAAcsB9QH/AQQBoAHwAf8CHwHmAf8CHwHmAf8CHwHmAf8CwgH2Af8CNwHo
|
||||
Af8CHwHmAf8CHwHmAf8CVwFZAb8DUgH0AwAB/wM+AWwDDgETA0IBdgNDAXcDQwF3A0MBdwNDAXcDQwF3
|
||||
A0MBdwNDAXcDQwF3A0MBdwNCAXYDFAEbBAADUgGpAyIBMgNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNS
|
||||
AakDUgGpA1IBqQNSAakDIgEyA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8MAAFLAkwBkAEAAcsB9gH/AQABywH2Af8BAAHLAfYB/wEAAcsB9gH/ASkBbgF2AfoDQwF4AyIBMgJL
|
||||
AYQB+wIiAekB/wIiAekB/wLNAfgB/wJGAe0B/wIiAekB/wIiAekB/wNQAZ4DAAH+AwAB/wNDAXcDHgEr
|
||||
A1cBxQNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNYAcYDJgE5BAADUgGpAzQBVQM0
|
||||
AVUgAAM0AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8MAANR
|
||||
AaABAAHMAfcB/wEAAcwB9wH/AQABzAH3Af8BAAHMAfcB/wNDAXcIAANKAY0CJQHsAf8CJQHsAf8CQQHv
|
||||
Af8CKQHsAf8CJQHsAf8BIQEyAe0B/wFSAlMBqAMzAVMDPAFnAxQBHDgAA1IBqQM0AVUDNAFVA0YBgANS
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1IBqQNFAX8DNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/DwABAQE/AkABbwE+AWsBcQH4AQABzQH3Af8BAAHNAfcB/wMSARgIAAMB
|
||||
AQIDRgF+AlIBXQHwAigB7gH/ASgBKQHuAf8CQAGoAf0BRQJGAX4DAwEEAzMBUwM8AWcDFAEcOAADUgGp
|
||||
AzQBVQM0AVUDPwFuAzIBUBAAAycBOwNEAXwDNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/DwABAQE/AkABbwE+AWsBcQH4AQABzgH4Af8BAAHOAfgB/wMSARgQAAMX
|
||||
ASABAgG8AfcB/wEAAcQB9wH/AUABqAGpAf0BRQJGAX4DAwEEAwAB/gMAAf8DQwF3Ax8BLANXAcUDWQHH
|
||||
A1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWAHGAyYBOQQAA1IBqQM0AVUDNAFVAwUBBwNV
|
||||
AbUDEQEXA1IBqQMpAT4EAANQAZ8DEQEXAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wwAA1EBoAEAAc4B+AH/AQABzwH5Af8BAAHPAfkB/wEAAc8B+QH/A0MBdxAA
|
||||
A0QBegEAAc8B+QH/AQABzwH5Af8BAAHPAfkB/wEAAc4B+AH/AVICUwGoA1IB9AMAAf8DPgFsAw4BEwNC
|
||||
AXUDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3AxQBGwQAA1IBqQM0AVUDNAFV
|
||||
BAADPAFoA1YBvgMjATQDVQG1AxIBGQNRAaAEAAM0AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wNcAd8MAAFLAkwBkAEAAdAB+gH/AQAB0AH6Af8BAAHQAfoB/wEAAdAB+gH/
|
||||
ASkBbgF2AfoDQwF4AxIBGQMTARoDRAF6ASgBfAGHAfsBAAHQAfoB/wEAAdAB+gH/AQAB0AH6Af8BAAHQ
|
||||
AfoB/wNKAYwDCgEOAxEBFwMAAQE4AANSAakDNAFVAzQBVQMAAQEDLQFGAwoBDgQAAzkBXwNcAc4DKAE8
|
||||
BAADNAFVAzQBVQNSAakTAAH/A4IB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNcAd8DFwEgDAADFQEd
|
||||
Az0BaQM6AWIBXAJgAdQBAAHRAfoB/wEAAdEB+gH/AQAB0AH6Af8BAAHLAfMB/wEAAcsB8wH/AQAB0AH6
|
||||
Af8BAAHRAfoB/wEAAdEB+gH/AV0CYQHiAzoBYgM9AWkDFAEcA1EBogNWAbYDKgFABAADEAEVAxEBFwMR
|
||||
ARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxABFggAA1IBqQM0AVUDNAFVAzMBUwNSAaYDSgGM
|
||||
BwABAQNHAYMIAAM0AVUDNAFVA1IBqRMAAf8DmQH/A4UB/wMAAf8DAAH/AwAB/wMAAf8DXAHfAxcBIBgA
|
||||
AwcBCgFZAmcB8gEBAdIB+wH/AQEB0gH7Af8BAQHSAfsB/wEBAdIB+wH/AQEB0gH7Af8BAQHSAfsB/wEB
|
||||
AdIB+wH/AQEB0gH7Af8BKwF/AYcB+wMRARcLAAH/AwAB/wNDAXcDKQE+AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DMgFRBAADUgGpAzQBVQM0AVUDEQEXA1ABngMkATYUAAM0
|
||||
AVUDNAFVA1IBqRAAA1AB+wMAAf8DAAH/AwAB/wMAAf8DAAH/A1wB3wMXASAcAAEwAjEBTQECAdIB/AH/
|
||||
AQIB0gH8Af8BWQJgAesBWwJeAdkBAgHSAfwB/wECAdIB/AH/AVsCYQHhAV0CYQHiAQIB0gH8Af8BAgHS
|
||||
AfwB/wM4AV4IAANVAbQDWQHHAy8BSQMAAQEDGwEmAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMc
|
||||
AScDHAEnAxwBJwMCAQMEAANSAakDIgEyA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGp
|
||||
A1IBqQMiATIDUgGpEAADIAEuAykBPwMpAT8DKQE/AykBPwMpAT8DEQEXIAADBQEHA0wBkgFWAlgBwQMV
|
||||
AR0DPQFpAQMB0wH8Af8BAwHTAfwB/wFFAkYBfwMQARUDVgGzAUsCTAGPAwQBBkwAA1ABowNSAakDUgGp
|
||||
A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNQAaNcAAMVAR0BQgFZAVoB9QFR
|
||||
Am0B9wMgAS8YAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAC/wGAAQEC/wH8
|
||||
AQECAAG/Af0B4AEHAcADAAGgAR0B4AEHAcABAAEQAQEBoQH9AeABBwHAAQABHwH/Ab8B/QHgAQcEAAGA
|
||||
AQEB4AEHBAABjwHxAeABBwEDAQABHwH/AYABAQHgAQcBAwEAAR8B/wGDAcEB4AEHAQMBwAIAAYABQQHg
|
||||
AQcBAwHAAgABiAERAeABBwIAAR8B/wGBAREB4AEHAgABEAEBAYEBMQHgAQ8BwAEDAgABgQHxAeABHwHA
|
||||
AQMCAAGAAQEB4AE/AcABAwL/AYABAQL/AfwBPws=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>551, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsIssues.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>765, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>863, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>863, 17</value>
|
||||
</metadata>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 268 B |
Binary file not shown.
|
After Width: | Height: | Size: 229 B |
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.6.0.2")]
|
||||
[assembly: AssemblyFileVersion("0.6.0.2")]
|
||||
[assembly: AssemblyVersion("0.6.1.0")]
|
||||
[assembly: AssemblyFileVersion("0.6.1.0")]
|
||||
|
||||
+20
@@ -480,6 +480,16 @@ namespace UVtools.GUI.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap pattern_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("pattern-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -520,6 +530,16 @@ namespace UVtools.GUI.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap resize_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("resize-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -118,12 +118,12 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Error-128x128" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Error-128x128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="search-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\search-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Cancel-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Cancel-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -169,6 +169,9 @@
|
||||
<data name="Wrench-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Wrench-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pattern-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\pattern-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-down-double-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-double-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -187,9 +190,6 @@
|
||||
<data name="Button-Info-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Button-Info-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-down-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Next-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Next-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -208,8 +208,8 @@
|
||||
<data name="File-Close-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\File-Close-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="search-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\search-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Cancel-32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Cancel-32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -217,11 +217,14 @@
|
||||
<data name="eye-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\eye-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_tophat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_tophat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Geometry-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Geometry-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_tophat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_tophat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="CNCMachine-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\CNCMachine-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\plus.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -235,6 +238,9 @@
|
||||
<data name="mutation_dilation" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_dilation.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="settings-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\settings-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_gradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_gradient.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -250,8 +256,8 @@
|
||||
<data name="checkbox-unmarked-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\checkbox-unmarked-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="CNCMachine-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\CNCMachine-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="arrow-down-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\delete-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -277,7 +283,7 @@
|
||||
<data name="island-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\island-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="settings-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\settings-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="resize-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\resize-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
+12
@@ -442,5 +442,17 @@ namespace UVtools.GUI.Properties {
|
||||
this["IslandBinaryThreshold"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public byte DefaultOpenFileExtension {
|
||||
get {
|
||||
return ((byte)(this["DefaultOpenFileExtension"]));
|
||||
}
|
||||
set {
|
||||
this["DefaultOpenFileExtension"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,5 +107,8 @@
|
||||
<Setting Name="IslandBinaryThreshold" Type="System.Byte" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="DefaultOpenFileExtension" Type="System.Byte" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -132,6 +132,12 @@
|
||||
<Compile Include="Forms\FrmInstallPEProfiles.Designer.cs">
|
||||
<DependentUpon>FrmInstallPEProfiles.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmToolPattern.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmToolPattern.Designer.cs">
|
||||
<DependentUpon>FrmToolPattern.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmMutationOneNumericalInput.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -144,6 +150,12 @@
|
||||
<Compile Include="Forms\FrmMutationOneComoboBox.Designer.cs">
|
||||
<DependentUpon>FrmMutationOneComoboBox.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmMutationMove.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmMutationMove.Designer.cs">
|
||||
<DependentUpon>FrmMutationMove.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FrmMutationResize.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -202,12 +214,18 @@
|
||||
<EmbeddedResource Include="Forms\FrmInstallPEProfiles.resx">
|
||||
<DependentUpon>FrmInstallPEProfiles.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FrmToolPattern.resx">
|
||||
<DependentUpon>FrmToolPattern.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FrmMutationOneNumericalInput.resx">
|
||||
<DependentUpon>FrmMutationOneNumericalInput.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FrmMutationOneComoboBox.resx">
|
||||
<DependentUpon>FrmMutationOneComoboBox.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FrmMutationMove.resx">
|
||||
<DependentUpon>FrmMutationMove.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FrmMutationResize.resx">
|
||||
<DependentUpon>FrmMutationResize.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -274,6 +292,8 @@
|
||||
<None Include="Images\file-image-16x16.png" />
|
||||
<None Include="Images\clipboard-16x16.png" />
|
||||
<None Include="Images\settings-16x16.png" />
|
||||
<None Include="Images\pattern-16x16.png" />
|
||||
<None Include="Images\resize-16x16.png" />
|
||||
<Content Include="UVtools.ico" />
|
||||
<None Include="UVtools.png" />
|
||||
<None Include="Images\Exit-16x16.png" />
|
||||
|
||||
Reference in New Issue
Block a user