namespace Umbraco.Cms.Core.Models { /// /// These are options that are passed to the IImageUrlGenerator implementation to determine the URL that is generated. /// public class ImageUrlGenerationOptions { public ImageUrlGenerationOptions(string? imageUrl) => ImageUrl = imageUrl; public string? ImageUrl { get; } public int? Width { get; set; } public int? Height { get; set; } public int? Quality { get; set; } public ImageCropMode? ImageCropMode { get; set; } public ImageCropAnchor? ImageCropAnchor { get; set; } public FocalPointPosition? FocalPoint { get; set; } public CropCoordinates? Crop { get; set; } public string? CacheBusterValue { get; set; } public string? FurtherOptions { get; set; } /// /// The focal point position, in whatever units the registered IImageUrlGenerator uses, typically a percentage of the total image from 0.0 to 1.0. /// public class FocalPointPosition { public FocalPointPosition(decimal left, decimal top) { Left = left; Top = top; } public decimal Left { get; } public decimal Top { get; } } /// /// The bounds of the crop within the original image, in whatever units the registered IImageUrlGenerator uses, typically a percentage between 0.0 and 1.0. /// public class CropCoordinates { public CropCoordinates(decimal left, decimal top, decimal right, decimal bottom) { Left = left; Top = top; Right = right; Bottom = bottom; } public decimal Left { get; } public decimal Top { get; } public decimal Right { get; } public decimal Bottom { get; } } } }