2015-08-04 19:31:43 +12:00
#region License Information ( GPL v3 )
/ *
ShareX - A program that allows you to take screenshots and share any file type
Copyright © 2007 - 2015 ShareX Developers
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 < http : //www.gnu.org/licenses/>.
* /
#endregion License Information ( GPL v3 )
using ShareX.HelpersLib ;
using System.ComponentModel ;
namespace ShareX.MediaLib
{
public class VideoThumbnailOptions
{
2015-08-06 00:33:30 +12:00
[Category("Screenshots"), DefaultValue(ThumbnailLocationType.DefaultFolder), Description("Create screenshots in default screenshot folder, same folder as the media file or in a custom folder.")]
2015-08-05 01:05:14 +12:00
public ThumbnailLocationType OutputLocation { get ; set ; }
2015-08-04 19:31:43 +12:00
[Category("Screenshots"), DefaultValue(""), Description("Output folder where screenshots will get saved.")]
2015-08-05 23:44:04 +12:00
public string CustomOutputDirectory { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-05 23:44:04 +12:00
[Category("Screenshots"), DefaultValue(EImageFormat.PNG), Description("Thumbnail image format to save.")]
public EImageFormat ImageFormat { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-05 23:44:04 +12:00
[Category("Screenshots"), DefaultValue(9), Description("Total number of screenshots to take.")]
2015-08-04 19:31:43 +12:00
public int ScreenshotCount { get ; set ; }
2015-08-05 01:05:14 +12:00
[Category("Screenshots"), DefaultValue(false), Description("Choose random frame each time a media file is processed.")]
2015-08-04 19:31:43 +12:00
public bool RandomFrame { get ; set ; }
[Category("Screenshots"), DefaultValue(true), Description("Upload screenshots.")]
public bool UploadScreenshots { get ; set ; }
2015-08-05 23:44:04 +12:00
[Category("Screenshots"), DefaultValue(false), Description("After combine screenshots keep single image files.")]
2015-08-04 19:31:43 +12:00
public bool KeepScreenshots { get ; set ; }
2015-08-05 23:44:04 +12:00
[Category("Screenshots"), DefaultValue(false), Description("After all screenshots taken open output directory automatically.")]
2015-08-05 01:05:14 +12:00
public bool OpenDirectory { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-05 23:44:04 +12:00
[Category("Screenshots"), DefaultValue(512), Description("Maximum thumbnail width size, 0 means don't resize.")]
2015-08-04 19:31:43 +12:00
public int MaxThumbnailWidth { get ; set ; }
2015-08-05 23:44:04 +12:00
[Category("Screenshots / Combined"), DefaultValue(true), Description("Combine all screenshots to one large screenshot.")]
2015-08-04 19:31:43 +12:00
public bool CombineScreenshots { get ; set ; }
2015-08-06 01:28:32 +12:00
[Category("Screenshots / Combined"), DefaultValue(10), Description("Space between border and content as pixel.")]
2015-08-04 19:31:43 +12:00
public int Padding { get ; set ; }
[Category("Screenshots / Combined"), DefaultValue(10), Description("Space between screenshots as pixel.")]
public int Spacing { get ; set ; }
2015-08-05 23:44:04 +12:00
[Category("Screenshots / Combined"), DefaultValue(3), Description("Number of screenshots per row.")]
2015-08-04 19:31:43 +12:00
public int ColumnCount { get ; set ; }
2015-08-05 23:44:04 +12:00
[Category("Screenshots / Combined"), DefaultValue(true), Description("Add video information to the combined screenshot.")]
public bool AddVideoInfo { get ; set ; }
2015-08-04 19:31:43 +12:00
[Category("Screenshots / Combined"), DefaultValue(true), Description("Add timestamp of screenshot at corner of image.")]
public bool AddTimestamp { get ; set ; }
[Category("Screenshots / Combined"), DefaultValue(true), Description("Draw rectangle shadow behind thumbnails.")]
public bool DrawShadow { get ; set ; }
2015-08-04 23:47:34 +12:00
2015-08-06 01:28:32 +12:00
[Category("Screenshots / Combined"), DefaultValue(true), Description("Draw border around thumbnails.")]
public bool DrawBorder { get ; set ; }
public string DefaultOutputDirectory , LastVideoPath ;
2015-08-04 23:47:34 +12:00
public VideoThumbnailOptions ( )
{
this . ApplyDefaultPropertyValues ( ) ;
}
2015-08-04 19:31:43 +12:00
}
}