2013-09-19 17:12:28 +02:00
|
|
|
|
using MediaBrowser.Controller.Entities;
|
|
|
|
|
using MediaBrowser.Controller.Providers;
|
2013-09-19 21:46:19 +02:00
|
|
|
|
using MediaBrowser.Model.Drawing;
|
2014-11-09 04:18:14 +01:00
|
|
|
|
using System;
|
2013-09-19 17:12:28 +02:00
|
|
|
|
using System.Collections.Generic;
|
2014-08-01 02:37:06 +02:00
|
|
|
|
using System.IO;
|
2013-09-19 17:12:28 +02:00
|
|
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.Drawing
|
|
|
|
|
{
|
|
|
|
|
public class ImageProcessingOptions
|
|
|
|
|
{
|
2013-12-19 22:51:32 +01:00
|
|
|
|
public IHasImages Item { get; set; }
|
2013-09-19 17:12:28 +02:00
|
|
|
|
|
2014-06-18 17:12:20 +02:00
|
|
|
|
public ItemImageInfo Image { get; set; }
|
2013-09-19 17:12:28 +02:00
|
|
|
|
|
|
|
|
|
public int ImageIndex { get; set; }
|
|
|
|
|
|
|
|
|
|
public bool CropWhiteSpace { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? Width { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? Height { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? MaxWidth { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? MaxHeight { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? Quality { get; set; }
|
|
|
|
|
|
|
|
|
|
public List<IImageEnhancer> Enhancers { get; set; }
|
|
|
|
|
|
2014-11-29 20:51:30 +01:00
|
|
|
|
public ImageFormat OutputFormat { get; set; }
|
2013-09-19 19:45:48 +02:00
|
|
|
|
|
2013-10-02 17:32:11 +02:00
|
|
|
|
public bool AddPlayedIndicator { get; set; }
|
2013-09-21 17:06:00 +02:00
|
|
|
|
|
2014-01-01 19:26:31 +01:00
|
|
|
|
public int? UnplayedCount { get; set; }
|
2013-09-21 17:06:00 +02:00
|
|
|
|
|
2014-09-01 22:10:54 +02:00
|
|
|
|
public double PercentPlayed { get; set; }
|
2014-08-01 02:37:06 +02:00
|
|
|
|
|
2013-09-21 17:06:00 +02:00
|
|
|
|
public string BackgroundColor { get; set; }
|
2013-11-06 22:32:26 +01:00
|
|
|
|
|
2014-08-01 02:37:06 +02:00
|
|
|
|
public bool HasDefaultOptions(string originalImagePath)
|
2013-11-06 22:32:26 +01:00
|
|
|
|
{
|
2014-08-01 02:37:06 +02:00
|
|
|
|
return HasDefaultOptionsWithoutSize(originalImagePath) &&
|
|
|
|
|
!Width.HasValue &&
|
|
|
|
|
!Height.HasValue &&
|
|
|
|
|
!MaxWidth.HasValue &&
|
2013-11-06 22:32:26 +01:00
|
|
|
|
!MaxHeight.HasValue;
|
|
|
|
|
}
|
|
|
|
|
|
2014-08-01 02:37:06 +02:00
|
|
|
|
public bool HasDefaultOptionsWithoutSize(string originalImagePath)
|
2013-11-06 22:32:26 +01:00
|
|
|
|
{
|
2013-11-15 17:00:39 +01:00
|
|
|
|
return (!Quality.HasValue || Quality.Value == 100) &&
|
2014-08-01 02:37:06 +02:00
|
|
|
|
IsOutputFormatDefault(originalImagePath) &&
|
2013-11-06 22:32:26 +01:00
|
|
|
|
!AddPlayedIndicator &&
|
2014-09-01 22:10:54 +02:00
|
|
|
|
PercentPlayed.Equals(0) &&
|
2014-01-01 19:26:31 +01:00
|
|
|
|
!UnplayedCount.HasValue &&
|
2013-11-06 22:32:26 +01:00
|
|
|
|
string.IsNullOrEmpty(BackgroundColor);
|
|
|
|
|
}
|
|
|
|
|
|
2014-08-01 02:37:06 +02:00
|
|
|
|
private bool IsOutputFormatDefault(string originalImagePath)
|
2013-11-06 22:32:26 +01:00
|
|
|
|
{
|
2014-11-09 04:18:14 +01:00
|
|
|
|
return string.Equals(Path.GetExtension(originalImagePath), "." + OutputFormat, StringComparison.OrdinalIgnoreCase);
|
2013-11-06 22:32:26 +01:00
|
|
|
|
}
|
2013-09-19 17:12:28 +02:00
|
|
|
|
}
|
|
|
|
|
}
|