You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
using System.Diagnostics.CodeAnalysis;
|
|
using System.Globalization;
|
|
using SkiaSharp;
|
|
|
|
namespace Jellyfin.Drawing.Skia
|
|
{
|
|
/// <summary>
|
|
/// Represents errors that occur during interaction with Skia codecs.
|
|
/// </summary>
|
|
[SuppressMessage("Design", "CA1032:Implement standard exception constructors", Justification = "A custom property, CodecResult, is required when creating this exception type.")]
|
|
public class SkiaCodecException : SkiaException
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="SkiaCodecException" /> class.
|
|
/// </summary>
|
|
/// <param name="result">The non-successful codec result returned by Skia.</param>
|
|
public SkiaCodecException(SKCodecResult result) : base()
|
|
{
|
|
CodecResult = result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="SkiaCodecException" /> class
|
|
/// with a specified error message.
|
|
/// </summary>
|
|
/// <param name="result">The non-successful codec result returned by Skia.</param>
|
|
/// <param name="message">The message that describes the error.</param>
|
|
public SkiaCodecException(SKCodecResult result, string message)
|
|
: base(message)
|
|
{
|
|
CodecResult = result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the non-successful codec result returned by Skia.
|
|
/// </summary>
|
|
public SKCodecResult CodecResult { get; }
|
|
|
|
/// <inheritdoc />
|
|
public override string ToString()
|
|
=> string.Format(
|
|
CultureInfo.InvariantCulture,
|
|
"Non-success codec result: {0}\n{1}",
|
|
CodecResult,
|
|
base.ToString());
|
|
}
|
|
}
|