107 lines
3 KiB
PHP
107 lines
3 KiB
PHP
<?php
|
|
|
|
namespace Drupal\image;
|
|
|
|
use Drupal\Component\Plugin\ConfigurablePluginInterface;
|
|
use Drupal\Component\Plugin\PluginInspectionInterface;
|
|
use Drupal\Core\Image\ImageInterface;
|
|
|
|
/**
|
|
* Defines the interface for image effects.
|
|
*
|
|
* @see \Drupal\image\Annotation\ImageEffect
|
|
* @see \Drupal\image\ImageEffectBase
|
|
* @see \Drupal\image\ConfigurableImageEffectInterface
|
|
* @see \Drupal\image\ConfigurableImageEffectBase
|
|
* @see \Drupal\image\ImageEffectManager
|
|
* @see plugin_api
|
|
*/
|
|
interface ImageEffectInterface extends PluginInspectionInterface, ConfigurablePluginInterface {
|
|
|
|
/**
|
|
* Applies an image effect to the image object.
|
|
*
|
|
* @param \Drupal\Core\Image\ImageInterface $image
|
|
* An image file object.
|
|
*
|
|
* @return bool
|
|
* TRUE on success. FALSE if unable to perform the image effect on the image.
|
|
*/
|
|
public function applyEffect(ImageInterface $image);
|
|
|
|
/**
|
|
* Determines the dimensions of the styled image.
|
|
*
|
|
* @param array &$dimensions
|
|
* Dimensions to be modified - an array with the following keys:
|
|
* - width: the width in pixels, or NULL if unknown
|
|
* - height: the height in pixels, or NULL if unknown
|
|
* When either of the dimensions are NULL, the corresponding HTML attribute
|
|
* will be omitted when an image style using this image effect is used.
|
|
* @param string $uri
|
|
* Original image file URI. It is passed in to allow an effect to
|
|
* optionally use this information to retrieve additional image metadata
|
|
* to determine dimensions of the styled image.
|
|
* ImageEffectInterface::transformDimensions key objective is to calculate
|
|
* styled image dimensions without performing actual image operations, so
|
|
* be aware that performing IO on the URI may lead to decrease in
|
|
* performance.
|
|
*/
|
|
public function transformDimensions(array &$dimensions, $uri);
|
|
|
|
/**
|
|
* Returns the extension the derivative would have have after applying this
|
|
* image effect.
|
|
*
|
|
* @param string $extension
|
|
* The file extension the derivative has before applying.
|
|
*
|
|
* @return string
|
|
* The file extension after applying.
|
|
*/
|
|
public function getDerivativeExtension($extension);
|
|
|
|
/**
|
|
* Returns a render array summarizing the configuration of the image effect.
|
|
*
|
|
* @return array
|
|
* A render array.
|
|
*/
|
|
public function getSummary();
|
|
|
|
/**
|
|
* Returns the image effect label.
|
|
*
|
|
* @return string
|
|
* The image effect label.
|
|
*/
|
|
public function label();
|
|
|
|
/**
|
|
* Returns the unique ID representing the image effect.
|
|
*
|
|
* @return string
|
|
* The image effect ID.
|
|
*/
|
|
public function getUuid();
|
|
|
|
/**
|
|
* Returns the weight of the image effect.
|
|
*
|
|
* @return int|string
|
|
* Either the integer weight of the image effect, or an empty string.
|
|
*/
|
|
public function getWeight();
|
|
|
|
/**
|
|
* Sets the weight for this image effect.
|
|
*
|
|
* @param int $weight
|
|
* The weight for this image effect.
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setWeight($weight);
|
|
|
|
}
|