class ImageToolkitOperation

Same name in this branch
  1. 10 core/lib/Drupal/Core/ImageToolkit/Annotation/ImageToolkitOperation.php \Drupal\Core\ImageToolkit\Annotation\ImageToolkitOperation
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/ImageToolkit/Annotation/ImageToolkitOperation.php \Drupal\Core\ImageToolkit\Annotation\ImageToolkitOperation
  2. 8.9.x core/lib/Drupal/Core/ImageToolkit/Annotation/ImageToolkitOperation.php \Drupal\Core\ImageToolkit\Annotation\ImageToolkitOperation
  3. 11.x core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php \Drupal\Core\ImageToolkit\Attribute\ImageToolkitOperation
  4. 11.x core/lib/Drupal/Core/ImageToolkit/Annotation/ImageToolkitOperation.php \Drupal\Core\ImageToolkit\Annotation\ImageToolkitOperation

Defines a Plugin attribute for the image toolkit plugin.

An image toolkit operation plugin provides a self-contained image manipulation routine, for a specific image toolkit. Examples of image toolkit operations are scaling, cropping, rotating, etc.

Plugin namespace: Plugin\ImageToolkit\Operation

For a working example, see \Drupal\system\Plugin\ImageToolkit\Operation\gd\Crop

Attributes

#[\Attribute(\Attribute::TARGET_CLASS)]

Hierarchy

Expanded class hierarchy of ImageToolkitOperation

See also

\Drupal\Core\ImageToolkit\Attribute\ImageToolkit

\Drupal\image\Attribute\ImageEffect

\Drupal\Core\ImageToolkit\ImageToolkitOperationInterface

\Drupal\Core\ImageToolkit\ImageToolkitOperationBase

\Drupal\Core\ImageToolkit\ImageToolkitOperationManager

Plugin API

Related topics

13 files declare their use of ImageToolkitOperation
Bar.php in core/modules/system/tests/modules/image_test/src/Plugin/ImageToolkit/Operation/test/Bar.php
Convert.php in core/modules/system/src/Plugin/ImageToolkit/Operation/gd/Convert.php
CreateNew.php in core/modules/system/src/Plugin/ImageToolkit/Operation/gd/CreateNew.php
Crop.php in core/modules/system/src/Plugin/ImageToolkit/Operation/gd/Crop.php
Desaturate.php in core/modules/system/src/Plugin/ImageToolkit/Operation/gd/Desaturate.php

... See full list

File

core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php, line 31

Namespace

Drupal\Core\ImageToolkit\Attribute
View source
class ImageToolkitOperation extends Plugin {
  
  /**
   * Constructs a new ImageToolkitOperation instance.
   *
   * @param string $id
   *   The plugin ID.
   *   There are no strict requirements as to the string to be used to identify
   *   the plugin, since discovery of the appropriate operation plugin to be
   *   used to apply an operation is based on the values of the 'toolkit' and
   *   the 'operation' annotation values.
   *   However, it is recommended that the following patterns be used:
   *    - '{toolkit}_{operation}' for the first implementation of an operation
   *      by a toolkit.
   *    - '{module}_{toolkit}_{operation}' for overrides of existing
   *      implementations supplied by an alternative module, and for new
   *      module-supplied operations.
   * @param string $toolkit
   *   The id of the image toolkit plugin for which the operation is
   *   implemented.
   * @param string $operation
   *   The machine name of the image toolkit operation implemented
   *   (e.g. "crop").
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup $label
   *   The human-readable name of the image toolkit operation.
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup|null $description
   *   (optional) The description of the image toolkit operation.
   * @param class-string|null $deriver
   *   (optional) The deriver class for the image toolkit operation.
   */
  public function __construct(public readonly string $id, public readonly string $toolkit, public readonly string $operation, public readonly TranslatableMarkup $label, public readonly ?TranslatableMarkup $description = NULL, public readonly ?string $deriver = NULL) {
  }

}

Members

Title Sort descending Modifiers Object type Summary
ImageToolkitOperation::__construct public function Constructs a new ImageToolkitOperation instance.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.