HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/orbidirectory.com/vendor/spatie/image/src/Enums/Fit.php
<?php

namespace Spatie\Image\Enums;

use Spatie\Image\Size;

enum Fit: string
{
    case Contain = 'contain';
    case Max = 'max';
    case Fill = 'fill';
    case Stretch = 'stretch';
    case Crop = 'crop';

    case FillMax = 'fill-max';

    public function calculateSize(
        int $originalWidth,
        int $originalHeight,
        ?int $desiredWidth = null,
        ?int $desiredHeight = null,
    ): Size {
        $desiredWidth ??= $originalWidth;
        $desiredHeight ??= $originalHeight;

        $size = new Size($originalWidth, $originalHeight);

        $constraints = match ($this) {
            Fit::Contain => [Constraint::PreserveAspectRatio],
            Fit::Fill, Fit::Max, Fit::FillMax => [Constraint::PreserveAspectRatio, Constraint::DoNotUpsize],
            Fit::Stretch, Fit::Crop => [],
        };

        return $size->resize($desiredWidth, $desiredHeight, $constraints);
    }

    public function shouldResizeCanvas(): bool
    {
        return in_array($this, [self::Fill, self::FillMax]);
    }
}