ShareX/ShareX.ScreenCaptureLib/Enums.cs

350 lines
7.5 KiB
C#
Raw Normal View History

2013-11-03 23:53:49 +13:00
#region License Information (GPL v3)
/*
ShareX - A program that allows you to take screenshots and share any file type
2023-01-10 09:31:02 +13:00
Copyright (c) 2007-2023 ShareX Team
2013-11-03 23:53:49 +13: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)
2014-05-09 15:14:53 +12:00
using System.ComponentModel;
2014-12-11 09:25:20 +13:00
namespace ShareX.ScreenCaptureLib
2013-11-03 23:53:49 +13:00
{
public enum ScreenRecordOutput
{
[Description("FFmpeg")]
FFmpeg,
[Description("Animated GIF")]
GIF
}
2015-06-05 19:48:02 +12:00
public enum ScreenRecordGIFEncoding // Localized
{
FFmpeg,
NET,
OctreeQuantizer
}
public enum RegionResult
2013-11-03 23:53:49 +13:00
{
Close,
Region,
LastRegion,
Fullscreen,
Monitor,
ActiveMonitor,
AnnotateRunAfterCaptureTasks,
2017-03-08 03:27:05 +13:00
AnnotateContinueTask,
2017-12-17 20:30:39 +13:00
AnnotateCancelTask
2013-11-03 23:53:49 +13:00
}
public enum NodeType
{
None,
Rectangle,
Line,
Point,
Freehand
}
internal enum NodePosition
2013-11-03 23:53:49 +13:00
{
TopLeft,
Top,
TopRight,
Right,
BottomRight,
Bottom,
BottomLeft,
Left,
Extra
2013-11-03 23:53:49 +13:00
}
2014-05-09 01:28:46 +12:00
internal enum NodeShape
{
2017-10-01 03:08:40 +13:00
Square, Circle, Diamond, CustomNode
}
2014-05-09 15:14:53 +12:00
public enum FFmpegVideoCodec
{
[Description("H.264 / x264")]
2014-05-09 15:14:53 +12:00
libx264,
[Description("H.265 / x265")]
libx265,
[Description("VP8 (WebM)")]
2014-05-09 15:14:53 +12:00
libvpx,
2019-11-29 05:54:07 +13:00
[Description("VP9 (WebM)")]
libvpx_vp9,
[Description("MPEG-4 / Xvid")]
2015-06-02 00:05:46 +12:00
libxvid,
[Description("H.264 / NVENC")]
h264_nvenc,
[Description("HEVC / NVENC")]
hevc_nvenc,
[Description("H.264 / AMF")]
2018-10-31 12:31:10 +13:00
h264_amf,
[Description("HEVC / AMF")]
hevc_amf,
[Description("H.264 / Quick Sync")]
h264_qsv,
[Description("HEVC / Quick Sync")]
hevc_qsv,
[Description("GIF")]
gif,
[Description("WebP")]
libwebp,
[Description("APNG")]
apng
}
public enum FFmpegAudioCodec
{
[Description("AAC")]
libvoaacenc,
[Description("Opus")]
libopus,
[Description("Vorbis")]
libvorbis,
[Description("MP3")]
libmp3lame
2014-05-09 15:14:53 +12:00
}
public enum FFmpegPreset
{
[Description("Ultra fast")]
ultrafast,
[Description("Super fast")]
superfast,
[Description("Very fast")]
veryfast,
[Description("Faster")]
faster,
[Description("Fast")]
fast,
[Description("Medium")]
medium,
[Description("Slow")]
slow,
[Description("Slower")]
slower,
[Description("Very slow")]
2014-05-21 04:12:52 +12:00
veryslow
2014-05-09 15:14:53 +12:00
}
2016-12-03 05:35:34 +13:00
public enum FFmpegNVENCPreset
{
[Description("Default")]
@default,
[Description("High quality 2 passes")]
slow,
[Description("High quality 1 pass")]
medium,
[Description("High performance 1 pass")]
fast,
[Description("High performance")]
hp,
[Description("High quality")]
hq,
[Description("Bluray disk")]
bd,
[Description("Low latency")]
ll,
[Description("Low latency high quality")]
llhq,
[Description("Low latency high performance")]
llhp,
[Description("Lossless")]
lossless,
[Description("Lossless high performance")]
losslesshp
}
2018-10-31 12:31:10 +13:00
public enum FFmpegAMFUsage
{
[Description("Generic Transcoding")]
transcoding = 0,
[Description("Ultra Low Latency")]
ultralowlatency = 1,
[Description("Low Latency")]
lowlatency = 2,
[Description("Webcam")]
webcam = 3
}
public enum FFmpegAMFQuality
{
[Description("Prefer Speed")]
speed = 0,
[Description("Balanced")]
balanced = 1,
[Description("Prefer Quality")]
quality = 2
}
public enum FFmpegQSVPreset
{
[Description("Very fast")]
veryfast,
[Description("Faster")]
faster,
[Description("Fast")]
fast,
[Description("Medium")]
medium,
[Description("Slow")]
slow,
[Description("Slower")]
slower,
[Description("Very slow")]
veryslow
}
2015-06-09 10:55:45 +12:00
public enum FFmpegTune
{
film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency
}
public enum FFmpegPaletteGenStatsMode
{
2015-06-09 10:55:45 +12:00
full, diff
}
public enum FFmpegPaletteUseDither
{
none,
bayer,
heckbert,
floyd_steinberg,
sierra2,
sierra2_4a
}
2015-07-17 03:21:02 +12:00
public enum RegionCaptureMode
2016-05-14 20:58:24 +12:00
{
Default,
Annotation,
ScreenColorPicker,
Ruler,
OneClick,
Editor,
TaskEditor
2016-05-14 20:58:24 +12:00
}
public enum RegionCaptureAction // Localized
{
None,
CancelCapture,
RemoveShapeCancelCapture,
RemoveShape,
SwapToolType,
CaptureFullscreen,
CaptureActiveMonitor,
CaptureLastRegion
}
2016-09-02 19:09:24 +12:00
public enum ShapeCategory
{
Region,
Drawing,
Effect,
Tool
2016-09-02 19:09:24 +12:00
}
public enum ShapeType // Localized
2015-07-17 03:21:02 +12:00
{
RegionRectangle,
RegionEllipse,
RegionFreehand,
ToolSelect,
2016-05-04 05:58:18 +12:00
DrawingRectangle,
2016-05-06 05:42:56 +12:00
DrawingEllipse,
2016-08-15 11:11:21 +12:00
DrawingFreehand,
2022-10-01 20:07:12 +13:00
DrawingFreehandArrow,
2016-05-06 05:03:57 +12:00
DrawingLine,
DrawingArrow,
2017-02-16 13:49:13 +13:00
DrawingTextOutline,
DrawingTextBackground,
DrawingSpeechBalloon,
2016-05-23 07:19:25 +12:00
DrawingStep,
DrawingMagnify,
DrawingImage,
DrawingImageScreen,
2018-02-06 21:25:15 +13:00
DrawingSticker,
DrawingCursor,
2020-03-12 01:19:04 +13:00
DrawingSmartEraser,
2016-09-02 18:16:52 +12:00
EffectBlur,
EffectPixelate,
EffectHighlight,
2022-08-16 10:22:54 +12:00
ToolCrop,
2022-08-16 22:11:13 +12:00
ToolCutOut
2015-07-17 03:21:02 +12:00
}
public enum ScrollingCaptureScrollMethod // Localized
{
Automatic,
SendMessageScroll,
KeyPressPageDown,
MouseWheel
}
public enum ScrollingCaptureScrollTopMethod // Localized
{
All,
SendMessageTop,
KeyPressHome,
None
}
public enum ImageEditorStartMode // Localized
{
AutoSize,
2017-11-21 22:32:07 +13:00
Normal,
Maximized,
PreviousState,
Fullscreen
}
public enum ImageInsertMethod
{
None,
Center,
CanvasExpandDown,
CanvasExpandRight
}
2020-12-06 12:05:36 +13:00
2021-06-28 01:43:36 +12:00
public enum BorderStyle // Localized
2020-12-06 12:05:36 +13:00
{
Solid,
Dash,
Dot,
DashDot,
DashDotDot
}
public enum ScreenRecordState
{
Waiting, BeforeStart, AfterStart, AfterRecordingStart, RecordingEnd, Encoding
}
2022-09-04 02:47:08 +12:00
public enum ScreenRecordingStatus
{
2022-09-04 03:23:44 +12:00
Waiting, Working, Recording, Paused, Stopped, Aborted
2022-09-04 02:47:08 +12:00
}
2013-11-03 23:53:49 +13:00
}