You are here

protected function BlazyFormatter::setImageDimensions in Blazy 8.2

Same name and namespace in other branches
  1. 7 src/BlazyFormatter.php \Drupal\blazy\BlazyFormatter::setImageDimensions()

Sets dimensions once to reduce method calls, if image style contains crop.

Parameters

array $settings: The settings being modified.

1 call to BlazyFormatter::setImageDimensions()
BlazyFormatter::preBuildElements in src/BlazyFormatter.php
Modifies the field formatter settings inherited by child elements.

File

src/BlazyFormatter.php, line 159

Class

BlazyFormatter
Provides common field formatter-related methods: Blazy, Slick.

Namespace

Drupal\blazy

Code

protected function setImageDimensions(array &$settings = []) {
  if (!isset($this->isImageDimensionSet[md5($settings['id'])])) {

    // If image style contains crop, sets dimension once, and let all inherit.
    if (!empty($settings['image_style']) && ($style = $this
      ->isCrop($settings['image_style']))) {
      $settings = array_merge($settings, BlazyUtil::transformDimensions($style, $settings, TRUE));

      // Informs individual images that dimensions are already set once.
      $settings['_dimensions'] = TRUE;
    }
    $this->isImageDimensionSet[md5($settings['id'])] = TRUE;
  }
}