Files
Umbraco-CMS/src/Umbraco.Core/Models/ImageUrlGenerationOptions.cs

67 lines
2.2 KiB
C#
Raw Normal View History

namespace Umbraco.Cms.Core.Models
{
2020-02-09 11:12:29 -08:00
/// <summary>
/// These are options that are passed to the IImageUrlGenerator implementation to determine
/// the propery URL that is needed
/// </summary>
public class ImageUrlGenerationOptions
{
2020-02-09 11:12:29 -08:00
public ImageUrlGenerationOptions (string imageUrl)
{
ImageUrl = imageUrl;
}
public string ImageUrl { get; }
public int? Width { get; set; }
public int? Height { get; set; }
public decimal? WidthRatio { get; set; }
public decimal? HeightRatio { get; set; }
public int? Quality { get; set; }
public ImageCropMode? ImageCropMode { get; set; }
public ImageCropAnchor? ImageCropAnchor { get; set; }
public bool DefaultCrop { get; set; }
public FocalPointPosition FocalPoint { get; set; }
public CropCoordinates Crop { get; set; }
public string CacheBusterValue { get; set; }
public string FurtherOptions { get; set; }
public bool UpScale { get; set; } = true;
public string AnimationProcessMode { get; set; }
2020-02-09 11:12:29 -08:00
/// <summary>
/// The focal point position, in whatever units the registered IImageUrlGenerator uses,
/// typically a percentage of the total image from 0.0 to 1.0.
/// </summary>
public class FocalPointPosition
{
2020-02-09 11:12:29 -08:00
public FocalPointPosition (decimal top, decimal left)
{
Left = left;
Top = top;
}
public decimal Left { get; }
public decimal Top { get; }
}
2020-02-09 11:12:29 -08:00
/// <summary>
/// The bounds of the crop within the original image, in whatever units the registered
/// IImageUrlGenerator uses, typically a percentage between 0 and 100.
/// </summary>
public class CropCoordinates
{
2020-02-09 11:12:29 -08:00
public CropCoordinates (decimal x1, decimal y1, decimal x2, decimal y2)
{
X1 = x1;
Y1 = y1;
X2 = x2;
Y2 = y2;
}
public decimal X1 { get; }
public decimal Y1 { get; }
public decimal X2 { get; }
public decimal Y2 { get; }
}
}
}