2015-08-04 19:31:43 +12:00
#region License Information ( GPL v3 )
/ *
2015-08-07 21:00:01 +12:00
ShareX - A program that allows you to take screenshots and share any file type
2021-07-29 15:22:51 +12:00
Copyright ( c ) 2007 - 2021 ShareX Team
2015-08-04 19:31:43 +12:00
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 ;
2015-08-06 09:25:07 +12:00
using System.Drawing.Design ;
2015-08-04 19:31:43 +12:00
namespace ShareX.MediaLib
{
public class VideoThumbnailOptions
{
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(ThumbnailLocationType.DefaultFolder), Description("Create thumbnails 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-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(""), Description("Output folder where thumbnails will get saved."), Editor(typeof(DirectoryNameEditor), typeof(UITypeEditor))]
2015-08-05 23:44:04 +12:00
public string CustomOutputDirectory { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(EImageFormat.PNG), Description("Thumbnail image format to save.")]
2015-08-05 23:44:04 +12:00
public EImageFormat ImageFormat { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(9), Description("Total number of thumbnails to take.")]
public int ThumbnailCount { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue("_Thumbnail"), Description("Suffix to append to the thumbnail filename.")]
2015-08-06 09:25:07 +12:00
public string FilenameSuffix { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), 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 ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(true), Description("Upload thumbnails.")]
public bool UploadThumbnails { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(false), Description("After combine thumbnails keep single image files.")]
2015-08-04 19:31:43 +12:00
public bool KeepScreenshots { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails"), DefaultValue(false), Description("After all thumbnails 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-07 21:02:42 +12:00
[Category("Thumbnails"), 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-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(true), Description("Combine all thumbnails to one large thumbnail.")]
2015-08-04 19:31:43 +12:00
public bool CombineScreenshots { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(10), Description("Space between border and content as pixel.")]
2015-08-04 19:31:43 +12:00
public int Padding { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(10), Description("Space between thumbnails as pixel.")]
2015-08-04 19:31:43 +12:00
public int Spacing { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(3), Description("Number of thumbnails per row.")]
2015-08-04 19:31:43 +12:00
public int ColumnCount { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(true), Description("Add video information to the combined thumbnail.")]
2015-08-05 23:44:04 +12:00
public bool AddVideoInfo { get ; set ; }
2015-08-04 19:31:43 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(true), Description("Add timestamp of thumbnail at corner of image.")]
2015-08-04 19:31:43 +12:00
public bool AddTimestamp { get ; set ; }
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(true), Description("Draw rectangle shadow behind thumbnails.")]
2015-08-04 19:31:43 +12:00
public bool DrawShadow { get ; set ; }
2015-08-04 23:47:34 +12:00
2015-08-07 21:02:42 +12:00
[Category("Thumbnails / Combined"), DefaultValue(true), Description("Draw border around thumbnails.")]
2015-08-06 01:28:32 +12:00
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
}
}