mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
93b1bb2132
4 changed files with 50 additions and 55 deletions
|
@ -101,15 +101,8 @@ public RectangleLight()
|
||||||
timer.Start();
|
timer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
private IContainer components = null;
|
|
||||||
|
|
||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
if (disposing && (components != null))
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (timer != null) timer.Dispose();
|
if (timer != null) timer.Dispose();
|
||||||
if (backgroundImage != null) backgroundImage.Dispose();
|
if (backgroundImage != null) backgroundImage.Dispose();
|
||||||
if (backgroundBrush != null) backgroundBrush.Dispose();
|
if (backgroundBrush != null) backgroundBrush.Dispose();
|
||||||
|
@ -122,6 +115,7 @@ protected override void Dispose(bool disposing)
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
|
|
||||||
AutoScaleDimensions = new SizeF(6F, 13F);
|
AutoScaleDimensions = new SizeF(6F, 13F);
|
||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
StartPosition = FormStartPosition.Manual;
|
StartPosition = FormStartPosition.Manual;
|
||||||
|
@ -160,28 +154,34 @@ private void RectangleLight_MouseDown(object sender, MouseEventArgs e)
|
||||||
positionOnClick = CaptureHelpers.GetCursorPosition();
|
positionOnClick = CaptureHelpers.GetCursorPosition();
|
||||||
isMouseDown = true;
|
isMouseDown = true;
|
||||||
}
|
}
|
||||||
else if (isMouseDown)
|
|
||||||
{
|
|
||||||
isMouseDown = false;
|
|
||||||
Refresh();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RectangleLight_MouseUp(object sender, MouseEventArgs e)
|
private void RectangleLight_MouseUp(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (isMouseDown && e.Button == MouseButtons.Left)
|
if (e.Button == MouseButtons.Left)
|
||||||
{
|
{
|
||||||
if (SelectionRectangle0Based.Width > 0 && SelectionRectangle0Based.Height > 0)
|
if (isMouseDown)
|
||||||
{
|
{
|
||||||
LastSelectionRectangle0Based = SelectionRectangle0Based;
|
if (SelectionRectangle0Based.Width > 0 && SelectionRectangle0Based.Height > 0)
|
||||||
DialogResult = DialogResult.OK;
|
{
|
||||||
}
|
LastSelectionRectangle0Based = SelectionRectangle0Based;
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
|
||||||
Close();
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (isMouseDown)
|
||||||
|
{
|
||||||
|
isMouseDown = false;
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,8 +70,6 @@ public Point CurrentMousePosition0Based
|
||||||
|
|
||||||
public bool ShowRectangleInfo { get; set; }
|
public bool ShowRectangleInfo { get; set; }
|
||||||
|
|
||||||
public Image SelectionImage { get; private set; }
|
|
||||||
|
|
||||||
private Timer timer;
|
private Timer timer;
|
||||||
private Bitmap surface;
|
private Bitmap surface;
|
||||||
private Graphics gSurface;
|
private Graphics gSurface;
|
||||||
|
@ -82,15 +80,6 @@ public Point CurrentMousePosition0Based
|
||||||
|
|
||||||
public RectangleTransparent()
|
public RectangleTransparent()
|
||||||
{
|
{
|
||||||
StartPosition = FormStartPosition.Manual;
|
|
||||||
Bounds = ScreenRectangle;
|
|
||||||
Text = "ShareX - " + Resources.RectangleTransparent_RectangleTransparent_Rectangle_capture_transparent;
|
|
||||||
|
|
||||||
Shown += RectangleLight_Shown;
|
|
||||||
KeyUp += RectangleLight_KeyUp;
|
|
||||||
MouseDown += RectangleLight_MouseDown;
|
|
||||||
MouseUp += RectangleLight_MouseUp;
|
|
||||||
|
|
||||||
borderDotPen = new Pen(Color.Black, 1);
|
borderDotPen = new Pen(Color.Black, 1);
|
||||||
borderDotPen2 = new Pen(Color.White, 1);
|
borderDotPen2 = new Pen(Color.White, 1);
|
||||||
borderDotPen2.DashPattern = new float[] { 5, 5 };
|
borderDotPen2.DashPattern = new float[] { 5, 5 };
|
||||||
|
@ -102,6 +91,15 @@ public RectangleTransparent()
|
||||||
gSurface.SmoothingMode = SmoothingMode.HighSpeed;
|
gSurface.SmoothingMode = SmoothingMode.HighSpeed;
|
||||||
gSurface.CompositingMode = CompositingMode.SourceCopy;
|
gSurface.CompositingMode = CompositingMode.SourceCopy;
|
||||||
|
|
||||||
|
StartPosition = FormStartPosition.Manual;
|
||||||
|
Bounds = ScreenRectangle;
|
||||||
|
Text = "ShareX - " + Resources.RectangleTransparent_RectangleTransparent_Rectangle_capture_transparent;
|
||||||
|
|
||||||
|
Shown += RectangleLight_Shown;
|
||||||
|
KeyUp += RectangleLight_KeyUp;
|
||||||
|
MouseDown += RectangleLight_MouseDown;
|
||||||
|
MouseUp += RectangleLight_MouseUp;
|
||||||
|
|
||||||
using (MemoryStream cursorStream = new MemoryStream(Resources.Crosshair))
|
using (MemoryStream cursorStream = new MemoryStream(Resources.Crosshair))
|
||||||
{
|
{
|
||||||
Cursor = new Cursor(cursorStream);
|
Cursor = new Cursor(cursorStream);
|
||||||
|
@ -154,8 +152,6 @@ private void RectangleLight_MouseUp(object sender, MouseEventArgs e)
|
||||||
if (SelectionRectangle0Based.Width > 0 && SelectionRectangle0Based.Height > 0)
|
if (SelectionRectangle0Based.Width > 0 && SelectionRectangle0Based.Height > 0)
|
||||||
{
|
{
|
||||||
LastSelectionRectangle0Based = SelectionRectangle0Based;
|
LastSelectionRectangle0Based = SelectionRectangle0Based;
|
||||||
if (SelectionImage != null) SelectionImage.Dispose();
|
|
||||||
SelectionImage = GetAreaImage();
|
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +163,6 @@ private void RectangleLight_MouseUp(object sender, MouseEventArgs e)
|
||||||
if (isMouseDown)
|
if (isMouseDown)
|
||||||
{
|
{
|
||||||
isMouseDown = false;
|
isMouseDown = false;
|
||||||
Refresh();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
</data>
|
</data>
|
||||||
<data name="lblX264CRF.Text" xml:space="preserve">
|
<data name="lblX264CRF.Text" xml:space="preserve">
|
||||||
<value>CRF:</value>
|
<value>CRF:</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>lblX264CRF.Name" xml:space="preserve">
|
<data name=">>lblX264CRF.Name" xml:space="preserve">
|
||||||
<value>lblX264CRF</value>
|
<value>lblX264CRF</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -294,10 +294,10 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
<value>Right</value>
|
<value>Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbVorbis_qscale.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tbVorbis_qscale.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>80, 3</value>
|
<value>112, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbVorbis_qscale.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tbVorbis_qscale.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>229, 36</value>
|
<value>197, 36</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbVorbis_qscale.TabIndex" type="System.Int32, mscorlib">
|
<data name="tbVorbis_qscale.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
|
@ -321,10 +321,10 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
<value>Right</value>
|
<value>Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbMP3_qscale.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tbMP3_qscale.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>80, 3</value>
|
<value>112, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbMP3_qscale.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tbMP3_qscale.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>229, 36</value>
|
<value>197, 36</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbMP3_qscale.TabIndex" type="System.Int32, mscorlib">
|
<data name="tbMP3_qscale.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
|
@ -348,10 +348,10 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
<value>Right</value>
|
<value>Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbAACBitrate.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tbAACBitrate.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>80, 3</value>
|
<value>112, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbAACBitrate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tbAACBitrate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>229, 36</value>
|
<value>197, 36</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbAACBitrate.TabIndex" type="System.Int32, mscorlib">
|
<data name="tbAACBitrate.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
|
@ -508,7 +508,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="btnFFmpegBrowse.Text" xml:space="preserve">
|
<data name="btnFFmpegBrowse.Text" xml:space="preserve">
|
||||||
<value>...</value>
|
<value>...</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>btnFFmpegBrowse.Name" xml:space="preserve">
|
<data name=">>btnFFmpegBrowse.Name" xml:space="preserve">
|
||||||
<value>btnFFmpegBrowse</value>
|
<value>btnFFmpegBrowse</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -553,7 +553,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="gbFFmpegExe.Text" xml:space="preserve">
|
<data name="gbFFmpegExe.Text" xml:space="preserve">
|
||||||
<value>ffmpeg.exe</value>
|
<value>ffmpeg.exe</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>gbFFmpegExe.Name" xml:space="preserve">
|
<data name=">>gbFFmpegExe.Name" xml:space="preserve">
|
||||||
<value>gbFFmpegExe</value>
|
<value>gbFFmpegExe</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -667,7 +667,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="btnFFmpegHelp.Text" xml:space="preserve">
|
<data name="btnFFmpegHelp.Text" xml:space="preserve">
|
||||||
<value>?</value>
|
<value>?</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>btnFFmpegHelp.Name" xml:space="preserve">
|
<data name=">>btnFFmpegHelp.Name" xml:space="preserve">
|
||||||
<value>btnFFmpegHelp</value>
|
<value>btnFFmpegHelp</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -742,7 +742,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpX264.Text" xml:space="preserve">
|
<data name="tpX264.Text" xml:space="preserve">
|
||||||
<value>x264</value>
|
<value>x264</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpX264.Name" xml:space="preserve">
|
<data name=">>tpX264.Name" xml:space="preserve">
|
||||||
<value>tpX264</value>
|
<value>tpX264</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -769,7 +769,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="lblVpxCRF.Text" xml:space="preserve">
|
<data name="lblVpxCRF.Text" xml:space="preserve">
|
||||||
<value>CRF:</value>
|
<value>CRF:</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>lblVpxCRF.Name" xml:space="preserve">
|
<data name=">>lblVpxCRF.Name" xml:space="preserve">
|
||||||
<value>lblVpxCRF</value>
|
<value>lblVpxCRF</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -793,7 +793,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpVpx.Text" xml:space="preserve">
|
<data name="tpVpx.Text" xml:space="preserve">
|
||||||
<value>VP8</value>
|
<value>VP8</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpVpx.Name" xml:space="preserve">
|
<data name=">>tpVpx.Name" xml:space="preserve">
|
||||||
<value>tpVpx</value>
|
<value>tpVpx</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -817,7 +817,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpXvid.Text" xml:space="preserve">
|
<data name="tpXvid.Text" xml:space="preserve">
|
||||||
<value>Xvid</value>
|
<value>Xvid</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpXvid.Name" xml:space="preserve">
|
<data name=">>tpXvid.Name" xml:space="preserve">
|
||||||
<value>tpXvid</value>
|
<value>tpXvid</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -940,7 +940,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpAAC.Text" xml:space="preserve">
|
<data name="tpAAC.Text" xml:space="preserve">
|
||||||
<value>AAC</value>
|
<value>AAC</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpAAC.Name" xml:space="preserve">
|
<data name=">>tpAAC.Name" xml:space="preserve">
|
||||||
<value>tpAAC</value>
|
<value>tpAAC</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -994,7 +994,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpVorbis.Text" xml:space="preserve">
|
<data name="tpVorbis.Text" xml:space="preserve">
|
||||||
<value>Vorbis</value>
|
<value>Vorbis</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpVorbis.Name" xml:space="preserve">
|
<data name=">>tpVorbis.Name" xml:space="preserve">
|
||||||
<value>tpVorbis</value>
|
<value>tpVorbis</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1048,7 +1048,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
</data>
|
</data>
|
||||||
<data name="tpMP3.Text" xml:space="preserve">
|
<data name="tpMP3.Text" xml:space="preserve">
|
||||||
<value>MP3</value>
|
<value>MP3</value>
|
||||||
<comment>@Invariant</comment></data>
|
</data>
|
||||||
<data name=">>tpMP3.Name" xml:space="preserve">
|
<data name=">>tpMP3.Name" xml:space="preserve">
|
||||||
<value>tpMP3</value>
|
<value>tpMP3</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1383,7 +1383,7 @@ Similarly, for constant quality encoding, you will simply save bitrate by choosi
|
||||||
<value>eiFFmpeg</value>
|
<value>eiFFmpeg</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>eiFFmpeg.Type" xml:space="preserve">
|
<data name=">>eiFFmpeg.Type" xml:space="preserve">
|
||||||
<value>HelpersLib.ExportImportControl, HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>ShareX.HelpersLib.ExportImportControl, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>eiFFmpeg.Parent" xml:space="preserve">
|
<data name=">>eiFFmpeg.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
|
|
@ -1913,7 +1913,7 @@ private void CaptureRectangleTransparent(TaskSettings taskSettings = null, bool
|
||||||
{
|
{
|
||||||
if (rectangleTransparent.ShowDialog() == DialogResult.OK)
|
if (rectangleTransparent.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
img = rectangleTransparent.SelectionImage;
|
img = rectangleTransparent.GetAreaImage();
|
||||||
|
|
||||||
if (img != null)
|
if (img != null)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue