gitextract_e0qxbpyj/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ └── feature-request.md │ └── workflows/ │ └── discord-releases.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Packages.props ├── GifRecorder.sln ├── LICENSE.txt ├── LOCALIZATION.md ├── Other/ │ └── Translator/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── Controls/ │ │ ├── ExtendedTextBox.cs │ │ ├── ImageButton.cs │ │ ├── ImageMenuItem.cs │ │ └── StatusBand.cs │ ├── Converters/ │ │ ├── MultiLineTitle.cs │ │ └── NullToInvertedBool.cs │ ├── Dialog.xaml │ ├── Dialog.xaml.cs │ ├── ExceptionDialog.xaml │ ├── ExceptionDialog.xaml.cs │ ├── ExceptionViewer.xaml │ ├── ExceptionViewer.xaml.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Themes/ │ │ ├── Buttons.xaml │ │ ├── Colors.xaml │ │ ├── ComboBox.xaml │ │ ├── DataGridStyle.xaml │ │ ├── Generic.xaml │ │ ├── IconSet.xaml │ │ └── ProgressBar.xaml │ ├── Translator.csproj │ ├── TranslatorWindow.xaml │ ├── TranslatorWindow.xaml.cs │ └── Util/ │ ├── DataGridHelper.cs │ ├── LogWriter.cs │ └── VisualHelper.cs ├── README.md ├── ScreenToGif/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── Capture/ │ │ ├── BaseCapture.cs │ │ ├── CachedCapture.cs │ │ ├── DirectCachedCapture.cs │ │ ├── DirectChangedCachedCapture.cs │ │ ├── DirectChangedImageCapture.cs │ │ ├── DirectImageCapture.cs │ │ ├── ICapture.cs │ │ ├── ImageCapture.cs │ │ └── RegionSelectHelper.cs │ ├── Cloud/ │ │ ├── CloudFactory.cs │ │ ├── Imgur.cs │ │ └── YandexDisk.cs │ ├── Controls/ │ │ ├── AdornerControl.cs │ │ ├── AttachmentListBoxItem.cs │ │ ├── AwareTabItem.cs │ │ ├── BaseRecorder.cs │ │ ├── BaseScreenRecorder.cs │ │ ├── BaseWindow.cs │ │ ├── Card.cs │ │ ├── CircularProgressBar.cs │ │ ├── ColorBox.cs │ │ ├── CroppingAdorner.cs │ │ ├── DataGridHeaderBorder.cs │ │ ├── DecimalBox.cs │ │ ├── DecimalUpDown.cs │ │ ├── DisplayTimer.cs │ │ ├── DoubleBox.cs │ │ ├── DoubleUpDown.cs │ │ ├── DragScrollGrid.cs │ │ ├── DrawingCanvas.cs │ │ ├── DropDownButton.cs │ │ ├── DynamicGrid.cs │ │ ├── ElementAdorner.cs │ │ ├── EncoderListViewItem.cs │ │ ├── ExListViewItem.cs │ │ ├── ExWindow.cs │ │ ├── ExtendedButton.cs │ │ ├── ExtendedCheckBox.cs │ │ ├── ExtendedComboBox.cs │ │ ├── ExtendedListBoxItem.cs │ │ ├── ExtendedMenuItem.cs │ │ ├── ExtendedProgressBar.cs │ │ ├── ExtendedRadioButton.cs │ │ ├── ExtendedRepeatButton.cs │ │ ├── ExtendedSlider.cs │ │ ├── ExtendedTextBox.cs │ │ ├── ExtendedToggleButton.cs │ │ ├── ExtendedUniformGrid.cs │ │ ├── FolderSelector.cs │ │ ├── FrameViewer.cs │ │ ├── FrameworkElementAdorner.cs │ │ ├── HeaderedTooltip.cs │ │ ├── HexadecimalBox.cs │ │ ├── HideableTabControl.cs │ │ ├── InkCanvasExtended.cs │ │ ├── IntegerBox.cs │ │ ├── IntegerUpDown.cs │ │ ├── Items/ │ │ │ ├── EncoderItem.cs │ │ │ ├── ExportItem.cs │ │ │ ├── GenericItem.cs │ │ │ └── QuantizationMethodItem.cs │ │ ├── KeyBox.cs │ │ ├── LabelSeparator.cs │ │ ├── LightWindow.cs │ │ ├── MoveResizeControl.cs │ │ ├── NotificationBox.cs │ │ ├── NotifyIcon.cs │ │ ├── NullableIntegerBox.cs │ │ ├── NullableIntegerUpDown.cs │ │ ├── PuncturedRect.cs │ │ ├── RadialPanel.cs │ │ ├── RangeSlider.cs │ │ ├── ResizingAdorner.cs │ │ ├── SelectControl.cs │ │ ├── SelectControlOld.cs │ │ ├── Shapes/ │ │ │ ├── Arrow.cs │ │ │ └── Triangle.cs │ │ ├── SpectrumSlider.cs │ │ ├── SplitButton.cs │ │ ├── StatusBand.cs │ │ ├── StatusList.cs │ │ ├── TextPath.cs │ │ ├── TimeBox.cs │ │ ├── WebcamControl.xaml │ │ ├── WebcamControl.xaml.cs │ │ └── ZoomBox.cs │ ├── Docs/ │ │ └── Documentation.md │ ├── ImageUtil/ │ │ └── ImageMethods.cs │ ├── Model/ │ │ ├── FrameInfo.cs │ │ └── ProjectInfo.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles/ │ │ ├── Publish as ARM64 (light).pubxml │ │ ├── Publish as ARM64 (self-contained).pubxml │ │ ├── Publish as ARM64.pubxml │ │ ├── Publish as x64 (light).pubxml │ │ ├── Publish as x64 (self-contained).pubxml │ │ ├── Publish as x64.pubxml │ │ ├── Publish as x86 (light).pubxml │ │ ├── Publish as x86 (self-contained).pubxml │ │ └── Publish as x86.pubxml │ ├── Readme.md │ ├── Resources/ │ │ ├── Backgrounds.xaml │ │ ├── Commands.xaml │ │ ├── Flags.xaml │ │ ├── Glyphs.xaml │ │ ├── Localization/ │ │ │ ├── StringResources.ar.xaml │ │ │ ├── StringResources.cs.xaml │ │ │ ├── StringResources.da.xaml │ │ │ ├── StringResources.de.xaml │ │ │ ├── StringResources.el.xaml │ │ │ ├── StringResources.en.xaml │ │ │ ├── StringResources.es-AR.xaml │ │ │ ├── StringResources.es.xaml │ │ │ ├── StringResources.fi.xaml │ │ │ ├── StringResources.fr.xaml │ │ │ ├── StringResources.he.xaml │ │ │ ├── StringResources.hu.xaml │ │ │ ├── StringResources.it.xaml │ │ │ ├── StringResources.ja.xaml │ │ │ ├── StringResources.ko.xaml │ │ │ ├── StringResources.nl.xaml │ │ │ ├── StringResources.pl.xaml │ │ │ ├── StringResources.pt-PT.xaml │ │ │ ├── StringResources.pt.xaml │ │ │ ├── StringResources.ru.xaml │ │ │ ├── StringResources.sv.xaml │ │ │ ├── StringResources.sw.xaml │ │ │ ├── StringResources.ta.xaml │ │ │ ├── StringResources.tr.xaml │ │ │ ├── StringResources.uk.xaml │ │ │ ├── StringResources.vi.xaml │ │ │ ├── StringResources.zh-Hant.xaml │ │ │ └── StringResources.zh.xaml │ │ ├── Settings.xaml │ │ ├── Style.css │ │ └── Vectors.xaml │ ├── ScreenToGif.csproj │ ├── Themes/ │ │ ├── Button.xaml │ │ ├── Colors/ │ │ │ ├── Dark.xaml │ │ │ ├── Light.xaml │ │ │ ├── Medium.xaml │ │ │ └── VeryDark.xaml │ │ ├── ComboBox.xaml │ │ ├── Common.xaml │ │ ├── Controls/ │ │ │ └── ExtendedComboBox.xaml │ │ ├── DataGrid.xaml │ │ ├── EncoderListViewItem.xaml │ │ ├── Generic.xaml │ │ └── Old.xaml │ ├── UserControls/ │ │ ├── BorderPanel.xaml │ │ ├── BorderPanel.xaml.cs │ │ ├── DelayPanel.xaml │ │ ├── DelayPanel.xaml.cs │ │ ├── ExportPanel.xaml │ │ ├── ExportPanel.xaml.cs │ │ ├── ImageViewer.xaml │ │ ├── ImageViewer.xaml.cs │ │ ├── ImgurPanel.xaml │ │ ├── ImgurPanel.xaml.cs │ │ ├── KGySoftGifOptionsPanel.xaml │ │ ├── KGySoftGifOptionsPanel.xaml.cs │ │ ├── KeyStrokesPanel.xaml │ │ ├── KeyStrokesPanel.xaml.cs │ │ ├── MouseClicksPanel.xaml │ │ ├── MouseClicksPanel.xaml.cs │ │ ├── ProgressPanel.xaml │ │ ├── ProgressPanel.xaml.cs │ │ ├── ResizePanel.xaml │ │ ├── ResizePanel.xaml.cs │ │ ├── ShadowPanel.xaml │ │ ├── ShadowPanel.xaml.cs │ │ ├── YandexPanel.xaml │ │ └── YandexPanel.xaml.cs │ ├── Util/ │ │ ├── ActionStack.cs │ │ ├── BrushAnimation.cs │ │ ├── ClipBoard.cs │ │ ├── ColorExtensions.cs │ │ ├── ComboBoxItemTemplateSelector.cs │ │ ├── Commands.cs │ │ ├── Converters/ │ │ │ ├── CommandToKeyGesture.cs │ │ │ ├── KeyGestureToString.cs │ │ │ ├── PresetToSubViewModelConverter.cs │ │ │ ├── RoutedCommandToInputGestureText.cs │ │ │ └── ShortcutKeys.cs │ │ ├── EncodingManager.cs │ │ ├── Extensions/ │ │ │ ├── PresetExtensions.cs │ │ │ └── SettingsExtension.cs │ │ ├── FeedbackHelper.cs │ │ ├── FrameworkHelper.cs │ │ ├── Global.cs │ │ ├── NotificationManager.cs │ │ ├── Other.cs │ │ ├── ScreenHelper.cs │ │ ├── ScrollSynchronizer.cs │ │ ├── StorageUtils.cs │ │ └── ThemeHelper.cs │ ├── ViewModel/ │ │ ├── ApplicationBaseViewModel.cs │ │ ├── ApplicationViewModel.cs │ │ ├── DithererDescriptor.cs │ │ ├── KGySoftGifOptionsViewModel.cs │ │ └── QuantizerDescriptor.cs │ ├── Views/ │ │ └── Settings/ │ │ ├── AboutSettings.xaml │ │ ├── AboutSettings.xaml.cs │ │ ├── ApplicationSettings.xaml │ │ ├── ApplicationSettings.xaml.cs │ │ ├── DonateSettings.xaml │ │ ├── DonateSettings.xaml.cs │ │ ├── EditorSettings.xaml │ │ ├── EditorSettings.xaml.cs │ │ ├── LanguageSettings.xaml │ │ ├── LanguageSettings.xaml.cs │ │ ├── PluginSettings.xaml │ │ ├── PluginSettings.xaml.cs │ │ ├── RecorderSettings.xaml │ │ ├── RecorderSettings.xaml.cs │ │ ├── ShortcutsSettings.xaml │ │ ├── ShortcutsSettings.xaml.cs │ │ ├── StorageSettings.xaml │ │ ├── StorageSettings.xaml.cs │ │ ├── TasksSettings.xaml │ │ ├── TasksSettings.xaml.cs │ │ ├── UploadSettings.xaml │ │ └── UploadSettings.xaml.cs │ ├── Webcam/ │ │ ├── DirectShow/ │ │ │ ├── ControlStreaming.cs │ │ │ ├── CoreStreaming.cs │ │ │ ├── Devices.cs │ │ │ ├── EditStreaming.cs │ │ │ ├── ExtendStreaming.cs │ │ │ ├── Marshaller.cs │ │ │ ├── Util.cs │ │ │ ├── Uuid.cs │ │ │ └── WorkAround.cs │ │ └── DirectX/ │ │ ├── CaptureWebcam.cs │ │ ├── Filter.cs │ │ ├── FilterCollection.cs │ │ └── Filters.cs │ ├── Windows/ │ │ ├── Board.xaml │ │ ├── Board.xaml.cs │ │ ├── Editor.xaml │ │ ├── Editor.xaml.cs │ │ ├── NewRecorder.xaml │ │ ├── NewRecorder.xaml.cs │ │ ├── Options.xaml │ │ ├── Options.xaml.cs │ │ ├── Other/ │ │ │ ├── AutomatedTask.xaml │ │ │ ├── AutomatedTask.xaml.cs │ │ │ ├── CacheDialog.xaml │ │ │ ├── CacheDialog.xaml.cs │ │ │ ├── ColorSelector.xaml │ │ │ ├── ColorSelector.xaml.cs │ │ │ ├── CommandPreviewer.xaml │ │ │ ├── CommandPreviewer.xaml.cs │ │ │ ├── Dialog.xaml │ │ │ ├── Dialog.xaml.cs │ │ │ ├── DownloadDialog.xaml │ │ │ ├── DownloadDialog.xaml.cs │ │ │ ├── Downloader.xaml │ │ │ ├── Downloader.xaml.cs │ │ │ ├── Encoder.xaml │ │ │ ├── Encoder.xaml.cs │ │ │ ├── ErrorDialog.xaml │ │ │ ├── ErrorDialog.xaml.cs │ │ │ ├── ExceptionDialog.xaml │ │ │ ├── ExceptionDialog.xaml.cs │ │ │ ├── ExceptionViewer.xaml │ │ │ ├── ExceptionViewer.xaml.cs │ │ │ ├── Feedback.xaml │ │ │ ├── Feedback.xaml.cs │ │ │ ├── FeedbackPreview.xaml │ │ │ ├── FeedbackPreview.xaml.cs │ │ │ ├── GoTo.xaml │ │ │ ├── GoTo.xaml.cs │ │ │ ├── GraphicsConfigurationDialog.xaml │ │ │ ├── GraphicsConfigurationDialog.xaml.cs │ │ │ ├── Insert.xaml │ │ │ ├── Insert.xaml.cs │ │ │ ├── KeyStrokes.xaml │ │ │ ├── KeyStrokes.xaml.cs │ │ │ ├── Localization.xaml │ │ │ ├── Localization.xaml.cs │ │ │ ├── PickAlbumDialog.xaml │ │ │ ├── PickAlbumDialog.xaml.cs │ │ │ ├── Preset.xaml │ │ │ ├── Preset.xaml.cs │ │ │ ├── RegionMagnifier.xaml │ │ │ ├── RegionMagnifier.xaml.cs │ │ │ ├── RegionSelection.xaml │ │ │ ├── RegionSelection.xaml.cs │ │ │ ├── RegionSelector.xaml │ │ │ ├── RegionSelector.xaml.cs │ │ │ ├── Splash.xaml │ │ │ ├── Splash.xaml.cs │ │ │ ├── Startup.xaml │ │ │ ├── Startup.xaml.cs │ │ │ ├── TestField.xaml │ │ │ ├── TestField.xaml.cs │ │ │ ├── TextDialog.xaml │ │ │ ├── TextDialog.xaml.cs │ │ │ ├── Troubleshoot.xaml │ │ │ ├── Troubleshoot.xaml.cs │ │ │ ├── Upload.xaml │ │ │ ├── Upload.xaml.cs │ │ │ ├── UploadHistory.xaml │ │ │ ├── UploadHistory.xaml.cs │ │ │ ├── VideoSource.xaml │ │ │ └── VideoSource.xaml.cs │ │ ├── Recorder.xaml │ │ ├── Recorder.xaml.cs │ │ ├── Webcam.xaml │ │ └── Webcam.xaml.cs │ └── app.manifest ├── ScreenToGif.Model/ │ ├── Enums/ │ │ ├── AdornerPlacement.cs │ │ ├── AppThemes.cs │ │ ├── ApplicationTypes.cs │ │ ├── CaptureFrequencies.cs │ │ ├── ColorQuantizationType.cs │ │ ├── CopyModes.cs │ │ ├── DelayChangeType.cs │ │ ├── DelayUpdateModes.cs │ │ ├── DitherMethods.cs │ │ ├── DrawingModeType.cs │ │ ├── DuplicatesDelayModes.cs │ │ ├── DuplicatesRemovalModes.cs │ │ ├── EncoderTypes.cs │ │ ├── EncodingStatus.cs │ │ ├── ExitAction.cs │ │ ├── ExportFormats.cs │ │ ├── ExtrasStatus.cs │ │ ├── FadeModes.cs │ │ ├── FlipRotateType.cs │ │ ├── Framerates.cs │ │ ├── GifskiErrorCodes.cs │ │ ├── HardwareAcceleration.cs │ │ ├── Icons.cs │ │ ├── ModeType.cs │ │ ├── MouseButtons.cs │ │ ├── MouseEventType.cs │ │ ├── Native/ │ │ │ ├── BaloonFlags.cs │ │ │ ├── BitmapCompressionModes.cs │ │ │ ├── CopyPixelOperations.cs │ │ │ ├── CornerPreferences.cs │ │ │ ├── DeviceCaps.cs │ │ │ ├── DibColorModes.cs │ │ │ ├── DisplayDeviceStates.cs │ │ │ ├── DisplayDevices.cs │ │ │ ├── DpiTypes.cs │ │ │ ├── DwmWindowAttributes.cs │ │ │ ├── GetAncestorFlags.cs │ │ │ ├── GetWindowTypes.cs │ │ │ ├── HitTestTargets.cs │ │ │ ├── IconDataMembers.cs │ │ │ ├── IconStates.cs │ │ │ ├── LocalMemoryFlags.cs │ │ │ ├── MapTypes.cs │ │ │ ├── MenuFunctions.cs │ │ │ ├── NativeMouseEvents.cs │ │ │ ├── NotifyCommands.cs │ │ │ ├── NotifyIconVersions.cs │ │ │ ├── ProcessDpiAwareness.cs │ │ │ ├── SetWindowPosFlags.cs │ │ │ ├── ShellExecuteMasks.cs │ │ │ ├── ShowWindowCommands.cs │ │ │ ├── SpecialWindowHandles.cs │ │ │ ├── SysCommands.cs │ │ │ ├── TimeResults.cs │ │ │ ├── WindowAttributes.cs │ │ │ ├── WindowStyles.cs │ │ │ ├── WindowStylesEx.cs │ │ │ └── WindowsMessages.cs │ │ ├── ObfuscationModes.cs │ │ ├── OverwriteModes.cs │ │ ├── PanelType.cs │ │ ├── PartialExportModes.cs │ │ ├── PasteBehaviors.cs │ │ ├── PredictionMethods.cs │ │ ├── ProgressTypes.cs │ │ ├── ProjectByType.cs │ │ ├── ProxyTypes.cs │ │ ├── RateUnits.cs │ │ ├── RecorderStages.cs │ │ ├── ReduceDelayModes.cs │ │ ├── ResizeDirection.cs │ │ ├── ScalingMethod.cs │ │ ├── SizeUnits.cs │ │ ├── SlideFromType.cs │ │ ├── SmoothLoopSelectionModes.cs │ │ ├── StatusReason.cs │ │ ├── StatusType.cs │ │ ├── SupportedFFmpegVersions.cs │ │ ├── TaskTypes.cs │ │ ├── UploadDestinations.cs │ │ ├── UploadService.cs │ │ ├── VideoCodecPresets.cs │ │ ├── VideoCodecs.cs │ │ ├── VideoPixelFormats.cs │ │ ├── VideoSettingsModes.cs │ │ └── Vsyncs.cs │ ├── Events/ │ │ ├── CustomKeyEventArgs.cs │ │ ├── CustomKeyPressEventArgs.cs │ │ ├── ManipulatedEventArgs.cs │ │ ├── SaveEventArgs.cs │ │ └── ValidatedEventArgs.cs │ ├── Exceptions/ │ │ ├── GraphicsConfigurationException.cs │ │ ├── SettingsPersistenceException.cs │ │ └── UploadException.cs │ ├── Interfaces/ │ │ ├── IExportPreset.cs │ │ ├── IFfmpegPreset.cs │ │ ├── IFrame.cs │ │ ├── IHistory.cs │ │ ├── IKeyGesture.cs │ │ ├── IPanel.cs │ │ ├── IPersistent.cs │ │ ├── IPreset.cs │ │ ├── IUploadPreset.cs │ │ └── IUploader.cs │ ├── Models/ │ │ ├── DetectedRegion.cs │ │ ├── ExportFrame.cs │ │ ├── ExportProject.cs │ │ ├── FosshubItem.cs │ │ ├── FosshubRelease.cs │ │ ├── FosshubResponse.cs │ │ ├── Frame.cs │ │ ├── GitHub/ │ │ │ ├── GitHubAsset.cs │ │ │ ├── GitHubRelease.cs │ │ │ └── GitHubUser.cs │ │ ├── MediaSource.cs │ │ ├── Native/ │ │ │ ├── Monitor.cs │ │ │ └── NativeRect.cs │ │ ├── Project/ │ │ │ ├── Project.cs │ │ │ ├── Sequence.cs │ │ │ ├── Sequences/ │ │ │ │ ├── BrushSequence.cs │ │ │ │ ├── CursorSequence.cs │ │ │ │ ├── DrawingSequence.cs │ │ │ │ ├── KeySequence.cs │ │ │ │ ├── ObfuscationSequence.cs │ │ │ │ ├── ProgressSequence.cs │ │ │ │ ├── RasterSequence.cs │ │ │ │ ├── ShapeSequence.cs │ │ │ │ ├── SizeableSequence.cs │ │ │ │ ├── SubSequences/ │ │ │ │ │ ├── CursorEvent.cs │ │ │ │ │ ├── Frame.cs │ │ │ │ │ ├── KeyEvent.cs │ │ │ │ │ └── Shadow.cs │ │ │ │ └── TextSequence.cs │ │ │ └── Track.cs │ │ ├── Property.cs │ │ ├── SimpleMouseGesture.cs │ │ ├── Upload/ │ │ │ ├── Imgur/ │ │ │ │ ├── ImgurAlbum.cs │ │ │ │ ├── ImgurAlbumsResponse.cs │ │ │ │ ├── ImgurImage.cs │ │ │ │ └── ImgurUploadResponse.cs │ │ │ ├── OAuth2Token.cs │ │ │ └── YandexDisk/ │ │ │ ├── Error.cs │ │ │ └── Link.cs │ │ └── VideoSource.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── ScreenToGif.Domain.csproj │ ├── Structs/ │ │ └── GifskiSettings.cs │ └── ViewModels/ │ ├── BaseViewModel.cs │ └── BindableBase.cs ├── ScreenToGif.Native/ │ ├── Constants.cs │ ├── Delegates.cs │ ├── External/ │ │ ├── DwmApi.cs │ │ ├── Gdi32.cs │ │ ├── Kernel32.cs │ │ ├── MsvCrt.cs │ │ ├── NtDll.cs │ │ ├── ShCore.cs │ │ ├── Shell32.cs │ │ ├── User32.cs │ │ └── WinMm.cs │ ├── Helpers/ │ │ ├── DllSecurity.cs │ │ ├── FunctionLoader.cs │ │ ├── HotKey.cs │ │ ├── Other.cs │ │ ├── TimerResolution.cs │ │ └── WindowMessageSink.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── ScreenToGif.Native.csproj │ └── Structs/ │ ├── Bitmap.cs │ ├── BitmapFileHeader.cs │ ├── BitmapInfoHeader.cs │ ├── CursorInfo.cs │ ├── IconInfo.cs │ ├── KeyboardHook.cs │ ├── Margins.cs │ ├── MemoryStatusEx.cs │ ├── MinMaxInfo.cs │ ├── MonitorInfoEx.cs │ ├── MouseHook.cs │ ├── NotifyIconData.cs │ ├── PointW.cs │ ├── ShellExecuteInfo.cs │ ├── TimeCaps.cs │ ├── TitlebarInfo.cs │ ├── WindowClass.cs │ ├── WindowInfo.cs │ └── WindowPlacement.cs ├── ScreenToGif.Test/ │ ├── A11Y/ │ │ └── ThemeContrastTests.cs │ ├── Data/ │ │ └── Upload/ │ │ └── Test.txt │ ├── Facts/ │ │ ├── ImageComparison.cs │ │ └── YandexUpload.cs │ ├── ScreenToGif.Test.csproj │ └── Util/ │ └── HttpHelper.cs ├── ScreenToGif.Util/ │ ├── Arguments.cs │ ├── BitHelper.cs │ ├── Codification/ │ │ ├── Apng/ │ │ │ ├── Apng.cs │ │ │ └── Chunks/ │ │ │ ├── ActlChunk.cs │ │ │ ├── ApngFrame.cs │ │ │ ├── Chunk.cs │ │ │ ├── FctlChunk.cs │ │ │ ├── FdatChunk.cs │ │ │ ├── IdatChunk.cs │ │ │ └── IhdrChunk.cs │ │ ├── Gif/ │ │ │ ├── Decoder/ │ │ │ │ ├── GifApplicationExtension.cs │ │ │ │ ├── GifBlock.cs │ │ │ │ ├── GifBlockKind.cs │ │ │ │ ├── GifColor.cs │ │ │ │ ├── GifCommentExtension.cs │ │ │ │ ├── GifDecoderException.cs │ │ │ │ ├── GifExtension.cs │ │ │ │ ├── GifFile.cs │ │ │ │ ├── GifFrame.cs │ │ │ │ ├── GifGraphicControlExtension.cs │ │ │ │ ├── GifHeader.cs │ │ │ │ ├── GifHelpers.cs │ │ │ │ ├── GifImageData.cs │ │ │ │ ├── GifImageDescriptor.cs │ │ │ │ ├── GifLogicalScreenDescriptor.cs │ │ │ │ ├── GifPlainTextExtension.cs │ │ │ │ └── GifTrailer.cs │ │ │ ├── Encoder/ │ │ │ │ ├── BitEncoder.cs │ │ │ │ ├── GifFile.cs │ │ │ │ ├── LZWEncoder.cs │ │ │ │ └── Quantization/ │ │ │ │ ├── GrayscaleQuantizer.cs │ │ │ │ ├── MedianCutQuantizer.cs │ │ │ │ ├── MostUsedQuantizer.cs │ │ │ │ ├── NeuralQuantizer.cs │ │ │ │ ├── OctreeQuantizer.cs │ │ │ │ ├── PaletteQuantizer.cs │ │ │ │ └── Quantizer.cs │ │ │ └── LegacyEncoder/ │ │ │ ├── GifEncoder.cs │ │ │ ├── LZWEncoder.cs │ │ │ └── PixelUtilOld.cs │ │ ├── PixelUtil.cs │ │ └── Psd/ │ │ ├── AditionalLayers/ │ │ │ ├── IAditionalLayerInfo.cs │ │ │ ├── IMetadata.cs │ │ │ ├── Metadata.cs │ │ │ └── MetadataContent.cs │ │ ├── Channel.cs │ │ ├── IPsdContent.cs │ │ ├── Image.cs │ │ ├── ImageChannelData.cs │ │ ├── ImageData.cs │ │ ├── ImageResourceBlocks/ │ │ │ ├── AnimationBlock.cs │ │ │ ├── IImageResource.cs │ │ │ └── ImageResources.cs │ │ ├── LayerAndMask.cs │ │ ├── LayerInfo.cs │ │ ├── LayerRecord.cs │ │ └── Psd.cs │ ├── Constants.cs │ ├── Converters/ │ │ ├── AlphaToOpacity.cs │ │ ├── BoolAnd.cs │ │ ├── BoolAndOrOrToVisibility.cs │ │ ├── BoolAndToVisibility.cs │ │ ├── BoolOr.cs │ │ ├── BoolOrAndToVisibility.cs │ │ ├── BoolOrToInvertedVisibility.cs │ │ ├── BoolOrToVisibility.cs │ │ ├── BoolToOpacity.cs │ │ ├── BytesToSize.cs │ │ ├── CenterPopupConverter.cs │ │ ├── ColorToAlpha.cs │ │ ├── ColorToBrush.cs │ │ ├── ContentToVisibility.cs │ │ ├── CountToBool.cs │ │ ├── DoubleTimesAHundredToInt.cs │ │ ├── DoubleToBool.cs │ │ ├── DoubleToInt.cs │ │ ├── DoubleToPercentage.cs │ │ ├── DoubleToPositionSize.cs │ │ ├── DoubleToRadius.cs │ │ ├── DoubleToThickness.cs │ │ ├── EnumToBool.cs │ │ ├── EnumToInt.cs │ │ ├── EnumToVisibility.cs │ │ ├── FontToSupportedGliph.cs │ │ ├── FormatConverter.cs │ │ ├── HasEnumToVisibility.cs │ │ ├── IntToBool.cs │ │ ├── IntToDecimal.cs │ │ ├── IntToDelayString.cs │ │ ├── IntToRect.cs │ │ ├── IntToString.cs │ │ ├── IntToVisibility.cs │ │ ├── InvertedBool.cs │ │ ├── InvertedBoolToVisibility.cs │ │ ├── InvertedEnumToBool.cs │ │ ├── InvertedEnumToVisibility.cs │ │ ├── InvertedIntToVisibility.cs │ │ ├── InvertedVisibility.cs │ │ ├── KeyToResource.cs │ │ ├── KeysToString.cs │ │ ├── MaximumValue.cs │ │ ├── MultiLineTitle.cs │ │ ├── NullToVisibility.cs │ │ ├── PathToFilename.cs │ │ ├── PercentageToOpacity.cs │ │ ├── ScaleConverter.cs │ │ ├── SelectionCountToDescription.cs │ │ ├── SelectionToDrawingAttributes.cs │ │ ├── SelectionToEditingMode.cs │ │ ├── SelectionToStylusShape.cs │ │ ├── ShortcutSelection.cs │ │ ├── SourceToSize.cs │ │ ├── StageToButtonString.cs │ │ ├── StageToCanvas.cs │ │ ├── StringArrayTypeConverter.cs │ │ ├── StringToDoubleArray.cs │ │ ├── StringToInt.cs │ │ ├── StylusTipToBool.cs │ │ ├── TagToSelection.cs │ │ ├── TimeSpanToString.cs │ │ ├── TimeSpanToTotalMilliseconds.cs │ │ └── UriToBitmap.cs │ ├── CrcHelper.cs │ ├── DataGridHelper.cs │ ├── DebounceDispatcher.cs │ ├── DirectoryHelper.cs │ ├── DynamicResourceBinding.cs │ ├── ExtendedStack.cs │ ├── Extensions/ │ │ ├── EnumExtensions.cs │ │ ├── ImageExtensions.cs │ │ ├── InlineExtensions.cs │ │ ├── MathExtensions.cs │ │ ├── ParseExtensions.cs │ │ ├── PropertyExtensions.cs │ │ ├── RectExtensions.cs │ │ ├── StringExtensions.cs │ │ └── VersionExtensions.cs │ ├── FastRandom.cs │ ├── Framerate.cs │ ├── GifskiInterop.cs │ ├── GitHubHelper.cs │ ├── Helpers/ │ │ ├── CursorHelper.cs │ │ ├── FfmpegHelper.cs │ │ └── KeyHelper.cs │ ├── Humanizer.cs │ ├── IdentityHelper.cs │ ├── InterProcessChannel/ │ │ ├── InstanceSwitcherChannel.cs │ │ ├── PipeServer.cs │ │ └── SettingsPersistenceChannel.cs │ ├── LocalizationHelper.cs │ ├── LogWritter.cs │ ├── MutexList.cs │ ├── Native/ │ │ ├── Capture.cs │ │ ├── HotKeyCollection.cs │ │ ├── InputHook.cs │ │ ├── Monitor.cs │ │ ├── NotifyIconHelper.cs │ │ └── WindowHelper.cs │ ├── NetworkHelper.cs │ ├── OperationalSystemHelper.cs │ ├── PathHelper.cs │ ├── ProcessHelper.cs │ ├── ScreenToGif.Util.csproj │ ├── Secret.cs │ ├── Serializer.cs │ ├── Settings/ │ │ ├── Migrations/ │ │ │ ├── Migration0to2_28_0.cs │ │ │ ├── Migration2_28_0To2_29_0.cs │ │ │ ├── Migration2_29_0To2_31_0.cs │ │ │ ├── Migration2_31_0To2_32_0.cs │ │ │ ├── Migration2_32_0To2_35_0.cs │ │ │ ├── Migration2_35_0To2_36_0.cs │ │ │ ├── Migration2_36_0To2_37_0.cs │ │ │ └── Migration2_37_0To2_43_0.cs │ │ ├── Migrations.cs │ │ └── UserSettings.cs │ ├── SimpleKeyGesture.cs │ ├── StreamHelpers.cs │ ├── UiElementsExtension.cs │ ├── VisualHelper.cs │ ├── WebHelper.cs │ └── WordLevel.cs └── ScreenToGif.ViewModel/ ├── BoardRecorderViewModel.cs ├── EditorViewModel.cs ├── ExportPresets/ │ ├── AnimatedImage/ │ │ ├── AnimatedImagePreset.cs │ │ ├── Apng/ │ │ │ ├── ApngPreset.cs │ │ │ ├── EmbeddedApngPreset.cs │ │ │ └── FfmpegApngPreset.cs │ │ ├── Avif/ │ │ │ ├── AvifPreset.cs │ │ │ └── FfmpegAvifPreset.cs │ │ ├── Bpg/ │ │ │ └── BpgPreset.cs │ │ ├── Gif/ │ │ │ ├── EmbeddedGifPreset.cs │ │ │ ├── FfmpegGifPreset.cs │ │ │ ├── GifPreset.cs │ │ │ ├── GifskiGifPreset.cs │ │ │ ├── KGySoftGifPreset.cs │ │ │ └── SystemGifPreset.cs │ │ └── Webp/ │ │ ├── FfmpegWebpPreset.cs │ │ └── WebpPreset.cs │ ├── ExportPreset.cs │ ├── Image/ │ │ ├── BmpPreset.cs │ │ ├── ImagePreset.cs │ │ ├── JpegPreset.cs │ │ └── PngPreset.cs │ ├── Other/ │ │ ├── PsdPreset.cs │ │ └── StgPreset.cs │ └── Video/ │ ├── Avi/ │ │ ├── AviPreset.cs │ │ └── FfmpegAviPreset.cs │ ├── Codecs/ │ │ ├── H264Amf.cs │ │ ├── H264Nvenc.cs │ │ ├── H264Qsv.cs │ │ ├── HevcAmf.cs │ │ ├── HevcNvenc.cs │ │ ├── HevcQsv.cs │ │ ├── LibAom.cs │ │ ├── Mpeg2.cs │ │ ├── Mpeg4.cs │ │ ├── Rav1E.cs │ │ ├── SvtAv1.cs │ │ ├── VideoCodec.cs │ │ ├── Vp8.cs │ │ ├── Vp9.cs │ │ ├── X264.cs │ │ └── X265.cs │ ├── Mkv/ │ │ ├── FfmpegMkvPreset.cs │ │ └── MkvPreset.cs │ ├── Mov/ │ │ ├── FfmpegMovPreset.cs │ │ └── MovPreset.cs │ ├── Mp4/ │ │ ├── FfmpegMp4Preset.cs │ │ └── Mp4Preset.cs │ ├── VideoPreset.cs │ └── Webm/ │ ├── FfmpegWebmPreset.cs │ └── WebmPreset.cs ├── FrameViewModel.cs ├── RecorderViewModel.cs ├── ScreenRecorderViewModel.cs ├── ScreenToGif.ViewModel.csproj ├── Settings/ │ └── PluginSettingsViewModel.cs ├── Tasks/ │ ├── BaseTaskViewModel.cs │ ├── BorderViewModel.cs │ ├── DelayViewModel.cs │ ├── KeyStrokesViewModel.cs │ ├── MouseEventsViewModel.cs │ ├── ProgressViewModel.cs │ ├── ResizeViewModel.cs │ └── ShadowViewModel.cs ├── UpdateAvailable.cs ├── UploadPresets/ │ ├── Custom/ │ │ └── CustomPreset.cs │ ├── History/ │ │ ├── History.cs │ │ └── ImgurHistory.cs │ ├── Imgur/ │ │ ├── ImgurAlbum.cs │ │ └── ImgurPreset.cs │ ├── UploadPreset.cs │ └── Yandex/ │ └── YandexPreset.cs ├── VideoSourceViewModel.cs └── WebcamViewModel.cs