ShareX/ShareX.ScreenCaptureLib/Enums.cs

367 lines
7.6 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
2024-01-03 12:57:14 +13:00
Copyright (c) 2007-2024 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
{
2023-07-23 01:13:39 +12: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")]
2014-05-09 15:14:53 +12:00
libvpx,
[Description("VP9")]
2019-11-29 05:54:07 +13:00
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")]
2023-07-23 01:13:39 +12:00
veryslow,
[Description("Placebo")]
placebo
}
public enum FFmpegTune
{
film,
animation,
grain,
stillimage,
psnr,
ssim,
fastdecode,
zerolatency
2014-05-09 15:14:53 +12:00
}
2016-12-03 05:35:34 +13:00
public enum FFmpegNVENCPreset
{
2023-08-13 04:20:23 +12:00
[Description("Fastest (Lowest quality)")]
p1,
[Description("Faster (Lower quality)")]
p2,
[Description("Fast (Low quality)")]
p3,
[Description("Medium (Medium quality)")]
p4,
[Description("Slow (Good quality)")]
p5,
[Description("Slower (Better quality)")]
p6,
[Description("Slowest (Best quality)")]
p7
}
public enum FFmpegNVENCTune
{
2016-12-03 05:35:34 +13:00
[Description("High quality")]
hq,
[Description("Low latency")]
ll,
2023-08-13 04:20:23 +12:00
[Description("Ultra low latency")]
ull,
2016-12-03 05:35:34 +13:00
[Description("Lossless")]
2023-08-13 04:20:23 +12:00
lossless
2016-12-03 05:35:34 +13:00
}
2018-10-31 12:31:10 +13:00
public enum FFmpegAMFUsage
{
2023-09-03 00:35:29 +12:00
[Description("Generic transcoding")]
transcoding,
[Description("Ultra low latency transcoding")]
ultralowlatency,
[Description("Low latency transcoding")]
lowlatency,
2018-10-31 12:31:10 +13:00
[Description("Webcam")]
2023-09-03 00:35:29 +12:00
webcam,
[Description("High quality transcoding")]
high_quality,
[Description("Low latency yet high quality transcoding")]
lowlatency_high_quality
2018-10-31 12:31:10 +13:00
}
public enum FFmpegAMFQuality
{
2023-09-03 00:35:29 +12:00
[Description("Prefer speed")]
speed,
2018-10-31 12:31:10 +13:00
[Description("Balanced")]
2023-09-03 00:35:29 +12:00
balanced,
[Description("Prefer quality")]
quality
2018-10-31 12:31:10 +13:00
}
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
}
public enum FFmpegPaletteGenStatsMode
{
2023-07-23 01:13:39 +12:00
full,
diff,
single
}
public enum FFmpegPaletteUseDither
{
none,
bayer,
heckbert,
floyd_steinberg,
sierra2,
sierra2_4a,
sierra3,
burkes,
atkinson
}
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 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
{
2023-07-23 01:13:39 +12:00
Waiting,
BeforeStart,
AfterStart,
AfterRecordingStart,
RecordingEnd,
Encoding
}
2022-09-04 02:47:08 +12:00
public enum ScreenRecordingStatus
{
2023-07-23 01:13:39 +12:00
Waiting,
Working,
Recording,
Paused,
Stopped,
Aborted
2022-09-04 02:47:08 +12:00
}
2013-11-03 23:53:49 +13:00
}