diff --git a/ShareX.HelpersLib/Native/NativeEnums.cs b/ShareX.HelpersLib/Native/NativeEnums.cs
index ea8d63084..662d96125 100644
--- a/ShareX.HelpersLib/Native/NativeEnums.cs
+++ b/ShareX.HelpersLib/Native/NativeEnums.cs
@@ -2796,4 +2796,23 @@ public enum FlashWindow : uint
///
FLASHW_TIMERNOFG = 12
}
+
+ public enum ScrollBarCommands
+ {
+ SB_LINEUP = 0,
+ SB_LINELEFT = 0,
+ SB_LINEDOWN = 1,
+ SB_LINERIGHT = 1,
+ SB_PAGEUP = 2,
+ SB_PAGELEFT = 2,
+ SB_PAGEDOWN = 3,
+ SB_PAGERIGHT = 3,
+ SB_THUMBPOSITION = 4,
+ SB_THUMBTRACK = 5,
+ SB_TOP = 6,
+ SB_LEFT = 6,
+ SB_BOTTOM = 7,
+ SB_RIGHT = 7,
+ SB_ENDSCROLL = 8
+ }
}
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/Forms/RectangleRegion.cs b/ShareX.ScreenCaptureLib/Forms/RectangleRegion.cs
index 912657f5f..8b0fcdde7 100644
--- a/ShareX.ScreenCaptureLib/Forms/RectangleRegion.cs
+++ b/ShareX.ScreenCaptureLib/Forms/RectangleRegion.cs
@@ -78,11 +78,11 @@ public RectangleRegion()
AreaManager = new AreaManager(this);
KeyDown += RectangleRegion_KeyDown;
- MouseDown += RectangleRegion_MouseDown;
+ MouseUp += RectangleRegion_MouseUp;
MouseWheel += RectangleRegion_MouseWheel;
}
- private void RectangleRegion_MouseDown(object sender, MouseEventArgs e)
+ private void RectangleRegion_MouseUp(object sender, MouseEventArgs e)
{
if ((OneClickMode || ScreenColorPickerMode) && e.Button == MouseButtons.Left)
{
diff --git a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.Designer.cs b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.Designer.cs
index 3a97e8678..089ce88ef 100644
--- a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.Designer.cs
+++ b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.Designer.cs
@@ -28,7 +28,17 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
+ this.components = new System.ComponentModel.Container();
this.btnSelectHandle = new System.Windows.Forms.Button();
+ this.lblControlText = new System.Windows.Forms.Label();
+ this.btnCapture = new System.Windows.Forms.Button();
+ this.captureTimer = new System.Windows.Forms.Timer(this.components);
+ this.nudScrollDelay = new System.Windows.Forms.NumericUpDown();
+ this.nudMaximumScrollCount = new System.Windows.Forms.NumericUpDown();
+ this.lblScrollDelay = new System.Windows.Forms.Label();
+ this.lblMaximumScrollCount = new System.Windows.Forms.Label();
+ ((System.ComponentModel.ISupportInitialize)(this.nudScrollDelay)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.nudMaximumScrollCount)).BeginInit();
this.SuspendLayout();
//
// btnSelectHandle
@@ -39,21 +49,103 @@ private void InitializeComponent()
this.btnSelectHandle.TabIndex = 0;
this.btnSelectHandle.Text = "Select window or control to scroll";
this.btnSelectHandle.UseVisualStyleBackColor = true;
+ this.btnSelectHandle.Click += new System.EventHandler(this.btnSelectHandle_Click);
+ //
+ // lblControlText
+ //
+ this.lblControlText.Location = new System.Drawing.Point(320, 13);
+ this.lblControlText.Name = "lblControlText";
+ this.lblControlText.Size = new System.Drawing.Size(240, 19);
+ this.lblControlText.TabIndex = 1;
+ this.lblControlText.Text = "Text";
+ //
+ // btnCapture
+ //
+ this.btnCapture.Enabled = false;
+ this.btnCapture.Location = new System.Drawing.Point(8, 104);
+ this.btnCapture.Name = "btnCapture";
+ this.btnCapture.Size = new System.Drawing.Size(152, 23);
+ this.btnCapture.TabIndex = 2;
+ this.btnCapture.Text = "Start capture";
+ this.btnCapture.UseVisualStyleBackColor = true;
+ this.btnCapture.Click += new System.EventHandler(this.btnCapture_Click);
+ //
+ // captureTimer
+ //
+ this.captureTimer.Tick += new System.EventHandler(this.captureTimer_Tick);
+ //
+ // nudScrollDelay
+ //
+ this.nudScrollDelay.Location = new System.Drawing.Point(136, 44);
+ this.nudScrollDelay.Maximum = new decimal(new int[] {
+ 5000,
+ 0,
+ 0,
+ 0});
+ this.nudScrollDelay.Name = "nudScrollDelay";
+ this.nudScrollDelay.Size = new System.Drawing.Size(80, 20);
+ this.nudScrollDelay.TabIndex = 3;
+ this.nudScrollDelay.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ this.nudScrollDelay.ValueChanged += new System.EventHandler(this.nudScrollDelay_ValueChanged);
+ //
+ // nudMaximumScrollCount
+ //
+ this.nudMaximumScrollCount.Location = new System.Drawing.Point(136, 68);
+ this.nudMaximumScrollCount.Name = "nudMaximumScrollCount";
+ this.nudMaximumScrollCount.Size = new System.Drawing.Size(80, 20);
+ this.nudMaximumScrollCount.TabIndex = 4;
+ this.nudMaximumScrollCount.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ this.nudMaximumScrollCount.ValueChanged += new System.EventHandler(this.nudMaximumScrollCount_ValueChanged);
+ //
+ // lblScrollDelay
+ //
+ this.lblScrollDelay.AutoSize = true;
+ this.lblScrollDelay.Location = new System.Drawing.Point(8, 48);
+ this.lblScrollDelay.Name = "lblScrollDelay";
+ this.lblScrollDelay.Size = new System.Drawing.Size(64, 13);
+ this.lblScrollDelay.TabIndex = 5;
+ this.lblScrollDelay.Text = "Scroll delay:";
+ //
+ // lblMaximumScrollCount
+ //
+ this.lblMaximumScrollCount.AutoSize = true;
+ this.lblMaximumScrollCount.Location = new System.Drawing.Point(8, 72);
+ this.lblMaximumScrollCount.Name = "lblMaximumScrollCount";
+ this.lblMaximumScrollCount.Size = new System.Drawing.Size(111, 13);
+ this.lblMaximumScrollCount.TabIndex = 6;
+ this.lblMaximumScrollCount.Text = "Maximum scroll count:";
//
// ScrollingCaptureForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(567, 427);
+ this.Controls.Add(this.lblMaximumScrollCount);
+ this.Controls.Add(this.lblScrollDelay);
+ this.Controls.Add(this.nudMaximumScrollCount);
+ this.Controls.Add(this.nudScrollDelay);
+ this.Controls.Add(this.btnCapture);
+ this.Controls.Add(this.lblControlText);
this.Controls.Add(this.btnSelectHandle);
this.Name = "ScrollingCaptureForm";
- this.Text = "ScrollingCaptureForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "ShareX - Scrolling capture";
+ ((System.ComponentModel.ISupportInitialize)(this.nudScrollDelay)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.nudMaximumScrollCount)).EndInit();
this.ResumeLayout(false);
+ this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnSelectHandle;
+ private System.Windows.Forms.Label lblControlText;
+ private System.Windows.Forms.Button btnCapture;
+ private System.Windows.Forms.Timer captureTimer;
+ private System.Windows.Forms.NumericUpDown nudScrollDelay;
+ private System.Windows.Forms.NumericUpDown nudMaximumScrollCount;
+ private System.Windows.Forms.Label lblScrollDelay;
+ private System.Windows.Forms.Label lblMaximumScrollCount;
}
}
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.cs b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.cs
index 96af4e7df..d17dfdd50 100644
--- a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.cs
+++ b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.cs
@@ -31,15 +31,116 @@ You should have received a copy of the GNU General Public License
using System.Drawing;
using System.Linq;
using System.Text;
+using System.Threading;
using System.Windows.Forms;
namespace ShareX.ScreenCaptureLib
{
public partial class ScrollingCaptureForm : BaseForm
{
- public ScrollingCaptureForm()
+ public ScrollingCaptureOptions Options { get; set; }
+
+ private WindowInfo selectedWindow;
+ private int currentScrollCount;
+
+ public ScrollingCaptureForm(ScrollingCaptureOptions options)
{
+ Options = options;
InitializeComponent();
+ nudScrollDelay.Value = Options.ScrollDelay;
+ nudMaximumScrollCount.Value = Options.MaximumScrollCount;
+ }
+
+ private void btnSelectHandle_Click(object sender, EventArgs e)
+ {
+ Hide();
+ SimpleWindowInfo simpleWindowInfo;
+
+ try
+ {
+ Thread.Sleep(250);
+ simpleWindowInfo = GetWindowInfo();
+ }
+ finally
+ {
+ Show();
+ }
+
+ if (simpleWindowInfo != null)
+ {
+ selectedWindow = new WindowInfo(simpleWindowInfo.Handle);
+ lblControlText.Text = selectedWindow.ClassName ?? string.Empty;
+ btnCapture.Enabled = true;
+ }
+ else
+ {
+ btnCapture.Enabled = false;
+ }
+ }
+
+ private void btnCapture_Click(object sender, EventArgs e)
+ {
+ StartCapture();
+ }
+
+ private SimpleWindowInfo GetWindowInfo()
+ {
+ using (RectangleRegion surface = new RectangleRegion())
+ {
+ surface.OneClickMode = true;
+ surface.Config.ForceWindowCapture = true;
+ surface.Config.IncludeControls = true;
+ surface.Config.UseDimming = false;
+ surface.Config.ShowInfo = true;
+ surface.Config.ShowMagnifier = false;
+ surface.Config.ShowTips = false;
+ surface.Prepare();
+ surface.ShowDialog();
+
+ if (surface.Result == SurfaceResult.Region)
+ {
+ return surface.SelectedWindow;
+ }
+ }
+
+ return null;
+ }
+
+ private void StartCapture()
+ {
+ btnCapture.Enabled = false;
+ currentScrollCount = 0;
+ selectedWindow.Activate();
+ captureTimer.Interval = Options.ScrollDelay;
+ captureTimer.Start();
+ }
+
+ private void StopCapture()
+ {
+ captureTimer.Stop();
+ btnCapture.Enabled = true;
+ }
+
+ private void captureTimer_Tick(object sender, EventArgs e)
+ {
+ NativeMethods.SendMessage(selectedWindow.Handle, (int)WindowsMessages.VSCROLL, (int)ScrollBarCommands.SB_PAGEDOWN, 0);
+
+ currentScrollCount++;
+
+ if (currentScrollCount == Options.MaximumScrollCount)
+ {
+ StopCapture();
+ }
+ }
+
+ private void nudScrollDelay_ValueChanged(object sender, EventArgs e)
+ {
+ Options.ScrollDelay = (int)nudScrollDelay.Value;
+ }
+
+ private void nudMaximumScrollCount_ValueChanged(object sender, EventArgs e)
+ {
+ Options.MaximumScrollCount = (int)nudMaximumScrollCount.Value;
}
}
}
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.resx b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.resx
index 1af7de150..18c7083b9 100644
--- a/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.resx
+++ b/ShareX.ScreenCaptureLib/Forms/ScrollingCaptureForm.resx
@@ -117,4 +117,7 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 17, 17
+
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/ScrollingCaptureOptions.cs b/ShareX.ScreenCaptureLib/ScrollingCaptureOptions.cs
new file mode 100644
index 000000000..a372f80ea
--- /dev/null
+++ b/ShareX.ScreenCaptureLib/ScrollingCaptureOptions.cs
@@ -0,0 +1,38 @@
+#region License Information (GPL v3)
+
+/*
+ ShareX - A program that allows you to take screenshots and share any file type
+ Copyright (c) 2007-2015 ShareX Team
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ Optionally you can also view the license at .
+*/
+
+#endregion License Information (GPL v3)
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ShareX
+{
+ public class ScrollingCaptureOptions
+ {
+ public int ScrollDelay { get; set; } = 500;
+ public int MaximumScrollCount { get; set; } = 20;
+ }
+}
\ No newline at end of file
diff --git a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
index 761675736..d28a3ff7d 100644
--- a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
+++ b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
@@ -115,6 +115,7 @@
+
diff --git a/ShareX.ScreenCaptureLib/WindowInfo.cs b/ShareX.ScreenCaptureLib/WindowInfo.cs
index 1d8f2326e..5deaeae89 100644
--- a/ShareX.ScreenCaptureLib/WindowInfo.cs
+++ b/ShareX.ScreenCaptureLib/WindowInfo.cs
@@ -127,6 +127,11 @@ public WindowInfo(IntPtr handle)
Handle = handle;
}
+ public void Activate()
+ {
+ NativeMethods.ActivateWindow(Handle);
+ }
+
public override string ToString()
{
return Text;
diff --git a/ShareX/Forms/MainForm.Designer.cs b/ShareX/Forms/MainForm.Designer.cs
index cd76f2117..e5560b558 100644
--- a/ShareX/Forms/MainForm.Designer.cs
+++ b/ShareX/Forms/MainForm.Designer.cs
@@ -57,6 +57,7 @@ private void InitializeComponent()
this.tsmiLastRegion = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiScreenRecordingFFmpeg = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiScreenRecordingGIF = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmiScrollingCapture = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiWebpageCapture = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiAutoCapture = new System.Windows.Forms.ToolStripMenuItem();
this.tsddbUpload = new System.Windows.Forms.ToolStripDropDownButton();
@@ -72,6 +73,7 @@ private void InitializeComponent()
this.tsmiImageEditor = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiHashCheck = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmiIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiQRCode = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiRuler = new System.Windows.Forms.ToolStripMenuItem();
@@ -79,7 +81,6 @@ private void InitializeComponent()
this.tsmiIndexFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiVideoThumbnailer = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiFTPClient = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTweetMessage = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiMonitorTest = new System.Windows.Forms.ToolStripMenuItem();
this.tssMain1 = new System.Windows.Forms.ToolStripSeparator();
@@ -191,6 +192,7 @@ private void InitializeComponent()
this.tsmiTrayImageEditor = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayHashCheck = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmiTrayIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayQRCode = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayRuler = new System.Windows.Forms.ToolStripMenuItem();
@@ -198,7 +200,6 @@ private void InitializeComponent()
this.tsmiTrayIndexFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayVideoThumbnailer = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayFTPClient = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiTrayIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayTweetMessage = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayMonitorTest = new System.Windows.Forms.ToolStripMenuItem();
this.tssTray1 = new System.Windows.Forms.ToolStripSeparator();
@@ -377,6 +378,7 @@ private void InitializeComponent()
this.tsmiLastRegion,
this.tsmiScreenRecordingFFmpeg,
this.tsmiScreenRecordingGIF,
+ this.tsmiScrollingCapture,
this.tsmiWebpageCapture,
this.tsmiAutoCapture});
this.tsddbCapture.Image = global::ShareX.Properties.Resources.camera;
@@ -473,6 +475,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiScreenRecordingGIF, "tsmiScreenRecordingGIF");
this.tsmiScreenRecordingGIF.Click += new System.EventHandler(this.tsmiScreenRecordingGIF_Click);
//
+ // tsmiScrollingCapture
+ //
+ this.tsmiScrollingCapture.Image = global::ShareX.Properties.Resources.ui_scroll_pane_image;
+ this.tsmiScrollingCapture.Name = "tsmiScrollingCapture";
+ resources.ApplyResources(this.tsmiScrollingCapture, "tsmiScrollingCapture");
+ this.tsmiScrollingCapture.Click += new System.EventHandler(this.tsmiScrollingCapture_Click);
+ //
// tsmiWebpageCapture
//
this.tsmiWebpageCapture.Image = global::ShareX.Properties.Resources.document_globe;
@@ -597,6 +606,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiHashCheck, "tsmiHashCheck");
this.tsmiHashCheck.Click += new System.EventHandler(this.tsmiHashCheck_Click);
//
+ // tsmiIRCClient
+ //
+ this.tsmiIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
+ this.tsmiIRCClient.Name = "tsmiIRCClient";
+ resources.ApplyResources(this.tsmiIRCClient, "tsmiIRCClient");
+ this.tsmiIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
+ //
// tsmiDNSChanger
//
this.tsmiDNSChanger.Image = global::ShareX.Properties.Resources.network_ip;
@@ -646,13 +662,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiFTPClient, "tsmiFTPClient");
this.tsmiFTPClient.Click += new System.EventHandler(this.tsmiFTPClient_Click);
//
- // tsmiIRCClient
- //
- this.tsmiIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
- this.tsmiIRCClient.Name = "tsmiIRCClient";
- resources.ApplyResources(this.tsmiIRCClient, "tsmiIRCClient");
- this.tsmiIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
- //
// tsmiTweetMessage
//
this.tsmiTweetMessage.Image = global::ShareX.Properties.Resources.Twitter;
@@ -1496,6 +1505,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayHashCheck, "tsmiTrayHashCheck");
this.tsmiTrayHashCheck.Click += new System.EventHandler(this.tsmiHashCheck_Click);
//
+ // tsmiTrayIRCClient
+ //
+ this.tsmiTrayIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
+ this.tsmiTrayIRCClient.Name = "tsmiTrayIRCClient";
+ resources.ApplyResources(this.tsmiTrayIRCClient, "tsmiTrayIRCClient");
+ this.tsmiTrayIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
+ //
// tsmiTrayDNSChanger
//
this.tsmiTrayDNSChanger.Image = global::ShareX.Properties.Resources.network_ip;
@@ -1545,13 +1561,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayFTPClient, "tsmiTrayFTPClient");
this.tsmiTrayFTPClient.Click += new System.EventHandler(this.tsmiFTPClient_Click);
//
- // tsmiTrayIRCClient
- //
- this.tsmiTrayIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
- this.tsmiTrayIRCClient.Name = "tsmiTrayIRCClient";
- resources.ApplyResources(this.tsmiTrayIRCClient, "tsmiTrayIRCClient");
- this.tsmiTrayIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
- //
// tsmiTrayTweetMessage
//
this.tsmiTrayTweetMessage.Image = global::ShareX.Properties.Resources.Twitter;
@@ -1967,5 +1976,6 @@ private void InitializeComponent()
private System.Windows.Forms.Timer timerTraySingleClick;
private System.Windows.Forms.ToolStripMenuItem tsmiIRCClient;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayIRCClient;
+ private System.Windows.Forms.ToolStripMenuItem tsmiScrollingCapture;
}
}
\ No newline at end of file
diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs
index fa2a727d2..dc4ff4d86 100644
--- a/ShareX/Forms/MainForm.cs
+++ b/ShareX/Forms/MainForm.cs
@@ -1092,6 +1092,11 @@ private void tsmiScreenRecordingGIF_Click(object sender, EventArgs e)
TaskHelpers.StartScreenRecording(ScreenRecordOutput.GIF, ScreenRecordStartMethod.Region);
}
+ private void tsmiScrollingCapture_Click(object sender, EventArgs e)
+ {
+ TaskHelpers.OpenScrollingCapture();
+ }
+
private void tsmiAutoCapture_Click(object sender, EventArgs e)
{
TaskHelpers.OpenAutoCapture();
diff --git a/ShareX/Forms/MainForm.resx b/ShareX/Forms/MainForm.resx
index 4ecde9970..68b0cd4a2 100644
--- a/ShareX/Forms/MainForm.resx
+++ b/ShareX/Forms/MainForm.resx
@@ -325,91 +325,97 @@
Left
- 191, 22
+ 220, 22
Fullscreen
- 191, 22
+ 220, 22
Window
- 191, 22
+ 220, 22
Monitor
- 191, 22
+ 220, 22
Region
- 191, 22
+ 220, 22
Region (Windows & controls)
- 191, 22
+ 220, 22
Region (Annotate)
- 191, 22
+ 220, 22
Region (Light)
- 191, 22
+ 220, 22
Region (Transparent)
- 191, 22
+ 220, 22
Polygon
- 191, 22
+ 220, 22
Freehand
- 191, 22
+ 220, 22
Last region
- 191, 22
+ 220, 22
Screen recording
- 191, 22
+ 220, 22
Screen recording (GIF)
+
+ 220, 22
+
+
+ Scrolling capture...
+
- 191, 22
+ 220, 22
Webpage capture...
- 191, 22
+ 220, 22
Auto capture...
@@ -1132,91 +1138,91 @@
190, 17
- 191, 22
+ 220, 22
Fullscreen
- 191, 22
+ 220, 22
Window
- 191, 22
+ 220, 22
Monitor
- 191, 22
+ 220, 22
Region
- 191, 22
+ 220, 22
Region (Windows & controls)
- 191, 22
+ 220, 22
Region (Annotate)
- 191, 22
+ 220, 22
Region (Light)
- 191, 22
+ 220, 22
Region (Transparent)
- 191, 22
+ 220, 22
Polygon
- 191, 22
+ 220, 22
Freehand
- 191, 22
+ 220, 22
Last region
- 191, 22
+ 220, 22
Screen recording
- 191, 22
+ 220, 22
Screen recording (GIF)
- 191, 22
+ 220, 22
Webpage capture...
- 191, 22
+ 220, 22
Auto capture...
@@ -1517,7 +1523,7 @@
ShareX
- @Invariant
+
405, 17
@@ -1665,6 +1671,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiScrollingCapture
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
tsmiWebpageCapture
@@ -1755,6 +1767,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiIRCClient
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
tsmiDNSChanger
@@ -1797,12 +1815,6 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsmiIRCClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
tsmiTweetMessage
@@ -2457,6 +2469,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiTrayIRCClient
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
tsmiTrayDNSChanger
@@ -2499,12 +2517,6 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsmiTrayIRCClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
tsmiTrayTweetMessage
@@ -2677,6 +2689,6 @@
MainForm
- ShareX.HotkeyForm, ShareX, Version=10.2.0.0, Culture=neutral, PublicKeyToken=null
+ ShareX.HotkeyForm, ShareX, Version=10.2.5.0, Culture=neutral, PublicKeyToken=null
\ No newline at end of file
diff --git a/ShareX/Properties/Resources.Designer.cs b/ShareX/Properties/Resources.Designer.cs
index b72042adb..462d40a6c 100644
--- a/ShareX/Properties/Resources.Designer.cs
+++ b/ShareX/Properties/Resources.Designer.cs
@@ -1927,6 +1927,16 @@ public static System.Drawing.Bitmap Twitter {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap ui_scroll_pane_image {
+ get {
+ object obj = ResourceManager.GetObject("ui_scroll_pane_image", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/ShareX/Properties/Resources.resx b/ShareX/Properties/Resources.resx
index e51b601c7..afc1c30c6 100644
--- a/ShareX/Properties/Resources.resx
+++ b/ShareX/Properties/Resources.resx
@@ -138,9 +138,6 @@ Are you sure you want to continue?
Shorten URL ({0})
-
- ..\Resources\layer-transparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
There is no valid CLI video encoder selected.
@@ -166,15 +163,15 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.
..\Resources\google_plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\au.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
FFmpeg error
-
- ..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
FFmpeg successfully downloaded.
@@ -244,9 +241,6 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.
URL is empty.
-
- Text upload test
-
Choose ShareX personal folder path
@@ -266,9 +260,6 @@ Please select a different hotkey or quit the conflicting application and reopen
Stop
-
- Left click to copy URL to clipboard. Right click to open URL.
-
..\Resources\robot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -296,6 +287,9 @@ Please select a different hotkey or quit the conflicting application and reopen
..\Resources\keyboard--minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Changelog
+
..\Resources\steam.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -308,6 +302,9 @@ Please select a different hotkey or quit the conflicting application and reopen
You can single left click the ShareX tray icon to start region capture.
+
+ ..\Resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Task settings
@@ -364,11 +361,11 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi
Hide menu
-
- ..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Unable to create folder:
-
- URL shortener: {0}
+
+ Capture
..\Resources\tr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -409,8 +406,8 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi
Upload files
-
- CLI video encoder file does not exist:
+
+ ..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\globe-share.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -418,6 +415,9 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi
..\Resources\kr.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Error
@@ -440,6 +440,9 @@ here
hotkeys
+
+ ..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\drive.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -452,6 +455,9 @@ here
..\Resources\traffic-cone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Issues
+
Path can't be empty.
@@ -467,12 +473,15 @@ here
Choose encoder path
+
+ For settings to take effect ShareX needs to be reopened from Steam.
+
Can't access to "{0}" file.
Please run ShareX as administrator to change personal folder path.
-
- ..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ CLI video encoder file does not exist:
..\Resources\image-saturation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -496,8 +505,8 @@ Please run ShareX as administrator to change personal folder path.
FTP client only supports FTP or FTPS.
-
- ..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Choose folder path
@@ -512,9 +521,6 @@ Would you like to restart ShareX?
..\Resources\layer-shape.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\image--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -527,9 +533,6 @@ Would you like to restart ShareX?
..\Resources\cn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
Use new name:
@@ -596,14 +599,17 @@ Would you like to restart ShareX?
Configure CLI video encoders --->
-
- ..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ URL shortener: {0}
..\Resources\clipboard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Unable to create folder:
+
+ ..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Choose screenshots folder path
@@ -614,8 +620,11 @@ Would you like to restart ShareX?
..\Resources\film.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Close
+
+
+ Left click to copy URL to clipboard. Right click to open URL.
..\Resources\clipboard-list.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -632,8 +641,11 @@ Would you like to restart ShareX?
File upload
-
- ..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Start screen color picker
+
+
+ ..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\layout-select-sidebar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -645,12 +657,18 @@ Would you like to restart ShareX?
Download failed:
{0}
+
+ After upload: {0}
+
..\Resources\layer-shape-ellipse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Text uploader: {0}
+
+ ..\Resources\ru.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -666,11 +684,14 @@ Would you like to restart ShareX?
..\Resources\es.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\CompanionCube.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\layer-shape-polygon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Stopped
@@ -684,29 +705,32 @@ Would you like to restart ShareX?
..\Resources\cross-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Issues
+
+ Chrome support disabled.
-
- Close
+
+ ..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Chrome support enabled.
+
+
+ ..\Resources\layer-transparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\wrench-screwdriver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\ErrorSound.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Preview:
-
- ..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Text upload test
-
- ..\Resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\notebook.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -744,29 +768,26 @@ Would you like to restart ShareX?
..\Resources\RoundedRectangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Unable to find valid Twitter account.
-
..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Website
-
- ..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- After upload: {0}
+
+ ..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\Fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Capture
+
+ ..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\exclamation-button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -778,28 +799,10 @@ Would you like to restart ShareX?
Download of FFmpeg failed.
-
- Start screen color picker
+
+ Unable to find valid Twitter account.
-
- ..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- Chrome support enabled.
-
-
- Chrome support disabled.
-
-
- ..\Resources\ru.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- For settings to take effect ShareX needs to be reopened from Steam.
-
-
- Changelog
-
-
- ..\Resources\CompanionCube.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\ui-scroll-pane-image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/ShareX/Resources/ui-scroll-pane-image.png b/ShareX/Resources/ui-scroll-pane-image.png
new file mode 100644
index 000000000..4ed26a46c
Binary files /dev/null and b/ShareX/Resources/ui-scroll-pane-image.png differ
diff --git a/ShareX/ShareX.csproj b/ShareX/ShareX.csproj
index 4afb036c0..bb68bda8a 100644
--- a/ShareX/ShareX.csproj
+++ b/ShareX/ShareX.csproj
@@ -1071,6 +1071,7 @@
+
diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs
index c841ae244..54b08dd93 100644
--- a/ShareX/TaskHelpers.cs
+++ b/ShareX/TaskHelpers.cs
@@ -490,6 +490,13 @@ public static void StartScreenRecording(ScreenRecordOutput outputType, ScreenRec
ScreenRecordManager.StartStopRecording(outputType, startMethod, taskSettings);
}
+ public static void OpenScrollingCapture(TaskSettings taskSettings = null)
+ {
+ if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
+
+ new ScrollingCaptureForm(taskSettings.CaptureSettings.ScrollingCaptureOptions).Show();
+ }
+
public static void OpenAutoCapture()
{
AutoCaptureForm.Instance.ShowActivate();
diff --git a/ShareX/TaskSettings.cs b/ShareX/TaskSettings.cs
index 473a23f67..eb81aa857 100644
--- a/ShareX/TaskSettings.cs
+++ b/ShareX/TaskSettings.cs
@@ -326,6 +326,12 @@ public class TaskSettingsCapture
#endregion Capture / Screen recorder
+ #region Capture / Scrolling capture
+
+ public ScrollingCaptureOptions ScrollingCaptureOptions = new ScrollingCaptureOptions();
+
+ #endregion Capture / Scrolling capture
+
#region Capture / Rectangle annotate
public RectangleAnnotateOptions RectangleAnnotateOptions = new RectangleAnnotateOptions();