using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Dto
{
    /// 
    /// Class ImageOptions.
    /// 
    public class ImageOptions
    {
        /// 
        /// Gets or sets the type of the image.
        /// 
        /// The type of the image.
        public ImageType ImageType { get; set; }
        /// 
        /// Gets or sets the index of the image.
        /// 
        /// The index of the image.
        public int? ImageIndex { get; set; }
        /// 
        /// Gets or sets the width.
        /// 
        /// The width.
        public int? Width { get; set; }
        /// 
        /// Gets or sets the height.
        /// 
        /// The height.
        public int? Height { get; set; }
        /// 
        /// Gets or sets the width of the max.
        /// 
        /// The width of the max.
        public int? MaxWidth { get; set; }
        /// 
        /// Gets or sets the height of the max.
        /// 
        /// The height of the max.
        public int? MaxHeight { get; set; }
        /// 
        /// Gets or sets the quality.
        /// 
        /// The quality.
        public int? Quality { get; set; }
        /// 
        /// Gets or sets the image tag.
        /// If set this will result in strong, unconditional response caching
        /// 
        /// The hash.
        public string Tag { get; set; }
        /// 
        /// Gets or sets a value indicating whether [crop whitespace].
        /// 
        /// null if [crop whitespace] contains no value, true if [crop whitespace]; otherwise, false.
        public bool? CropWhitespace { get; set; }
        /// 
        /// Gets or sets a value indicating whether [enable image enhancers].
        /// 
        /// true if [enable image enhancers]; otherwise, false.
        public bool EnableImageEnhancers { get; set; }
        /// 
        /// Gets or sets the format.
        /// 
        /// The format.
        public ImageFormat? Format { get; set; }
        /// 
        /// Gets or sets a value indicating whether [add played indicator].
        /// 
        /// true if [add played indicator]; otherwise, false.
        public bool AddPlayedIndicator { get; set; }
        /// 
        /// Gets or sets the percent played.
        /// 
        /// The percent played.
        public int? PercentPlayed { get; set; }
        /// 
        /// Gets or sets the un played count.
        /// 
        /// The un played count.
        public int? UnPlayedCount { get; set; }
        /// 
        /// Gets or sets the color of the background.
        /// 
        /// The color of the background.
        public string BackgroundColor { get; set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public ImageOptions()
        {
            EnableImageEnhancers = true;
        }
    }
}