Newer
Older
<?php
/**
* @file
Alex Pott
committed
* Contains \Drupal\image\ImageStyleInterface.
*/
namespace Drupal\image;
use Drupal\Core\Config\Entity\ConfigEntityInterface;
/**
* Provides an interface defining an image style entity.
*/
Alex Pott
committed
interface ImageStyleInterface extends ConfigEntityInterface {
/**
* Returns the replacement ID.
*
* @return string
* The name of the image style to use as replacement upon delete.
*/
public function getReplacementID();
/**
* Returns the image style.
*
* @return string
* The name of the image style.
*/
public function getName();
/**
* Sets the name of the image style.
*
* @param string $name
* The name of the image style.
*
Alex Pott
committed
* @return \Drupal\image\ImageStyleInterface
* The class instance this method is called on.
*/
public function setName($name);
Alex Pott
committed
/**
* Returns the URI of this image when using this style.
*
* The path returned by this function may not exist. The default generation
* method only creates images when they are requested by a user's browser.
* Modules may implement this method to decide where to place derivatives.
*
* @param string $uri
* The URI or path to the original image.
*
* @return string
* The URI to the image derivative for this style.
*/
public function buildUri($uri);
/**
* Returns the URL of this image derivative for an original image path or URI.
*
* @param string $path
* The path or URI to the original image.
* @param mixed $clean_urls
* (optional) Whether clean URLs are in use.
*
* @return string
* The absolute URL where a style image can be downloaded, suitable for use
* in an <img> tag. Requesting the URL will cause the image to be created.
*
catch
committed
* @see \Drupal\image\Controller\ImageStyleDownloadController::deliver()
Alex Pott
committed
*/
public function buildUrl($path, $clean_urls = NULL);
catch
committed
/**
* Generates a token to protect an image style derivative.
*
* This prevents unauthorized generation of an image style derivative,
* which can be costly both in CPU time and disk space.
*
* @param string $uri
* The URI of the original image of this style.
*
* @return string
* An eight-character token which can be used to protect image style
* derivatives against denial-of-service attacks.
*/
public function getPathToken($uri);
Alex Pott
committed
/**
* Flushes cached media for this style.
*
* @param string $path
* (optional) The original image path or URI. If it's supplied, only this
* image derivative will be flushed.
Alex Pott
committed
*
Angie Byron
committed
* @return $this
Alex Pott
committed
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
*/
public function flush($path = NULL);
/**
* Creates a new image derivative based on this image style.
*
* Generates an image derivative applying all image effects and saving the
* resulting image.
*
* @param string $original_uri
* Original image file URI.
* @param string $derivative_uri
* Derivative image file URI.
*
* @return bool
* TRUE if an image derivative was generated, or FALSE if the image
* derivative could not be generated.
*/
public function createDerivative($original_uri, $derivative_uri);
/**
* Determines the dimensions of this image style.
*
* Stores the dimensions of this image style into $dimensions associative
* array. Implementations have to provide at least values to next keys:
* - width: Integer with the derivative image width.
* - height: Integer with the derivative image height.
*
* @param array $dimensions
* Associative array passed by reference. Implementations have to store the
* resulting width and height, in pixels.
*/
public function transformDimensions(array &$dimensions);
Angie Byron
committed
/**
* Determines the extension of the derivative without generating it.
*
* @param string $extension
* The file extension of the original image.
*
* @return string
* The extension the derivative image will have, given the extension of the
* original.
*/
public function getDerivativeExtension($extension);
Alex Pott
committed
/**
* Returns a specific image effect.
*
* @param string $effect
* The image effect ID.
*
* @return \Drupal\image\ImageEffectInterface
* The image effect object.
*/
public function getEffect($effect);
/**
* Returns the image effects for this style.
*
Alex Pott
committed
* @return \Drupal\image\ImageEffectPluginCollection|\Drupal\image\ImageEffectInterface[]
* The image effect plugin collection.
Alex Pott
committed
*/
public function getEffects();
/**
* Saves an image effect for this style.
*
* @param array $configuration
* An array of image effect configuration.
*
* @return string
* The image effect ID.
*/
public function addImageEffect(array $configuration);
Alex Pott
committed
/**
* Deletes an image effect from this style.
*
* @param \Drupal\image\ImageEffectInterface $effect
* The image effect object.
*
Angie Byron
committed
* @return $this
Alex Pott
committed
*/
public function deleteImageEffect(ImageEffectInterface $effect);