<?php
namespace Cms\FileBundle\Entity\Optimizations;
use Cms\FileBundle\Entity\Optimization;
use Doctrine\ORM\Mapping as ORM;
/**
* Class ImageOptimization
* @package Cms\FileBundle\Entity\Optimizations
*
* @ORM\Embeddable
*/
class ImageOptimization extends Optimization
{
const MASKS__NONE = 0;
const MASKS__ALL = 536870911;
const MASKS__GENERIC =
self::MASKS__GENERIC__FULL |
self::MASKS__GENERIC__320 |
self::MASKS__GENERIC__360 |
self::MASKS__GENERIC__400 |
self::MASKS__GENERIC__480 |
self::MASKS__GENERIC__600 |
self::MASKS__GENERIC__720 |
self::MASKS__GENERIC__800 |
self::MASKS__GENERIC__1024 |
self::MASKS__GENERIC__1280 |
self::MASKS__GENERIC__1600
;
const MASKS__GENERIC__FULL = 0b1 << 0;
const MASKS__GENERIC__320 = 0b1 << 1;
const MASKS__GENERIC__360 = 0b1 << 2;
const MASKS__GENERIC__400 = 0b1 << 3;
const MASKS__GENERIC__480 = 0b1 << 4;
const MASKS__GENERIC__600 = 0b1 << 5;
const MASKS__GENERIC__720 = 0b1 << 6;
const MASKS__GENERIC__800 = 0b1 << 7;
const MASKS__GENERIC__1024 = 0b1 << 8;
const MASKS__GENERIC__1280 = 0b1 << 9;
const MASKS__GENERIC__1600 = 0b1 << 10;
const MASKS__SQUARE__XSMALL = 0b1 << 11;
const MASKS__SQUARE__SMALL = 0b1 << 12;
const MASKS__SQUARE__MEDIUM = 0b1 << 13;
const MASKS__SQUARE__LARGE = 0b1 << 14;
const MASKS__SQUARE__XLARGE = 0b1 << 15;
const MASKS__RECTANGLE__XXXSMALL = 0b1 << 16;
const MASKS__RECTANGLE__XXSMALL = 0b1 << 17;
const MASKS__RECTANGLE__XSMALL = 0b1 << 18;
const MASKS__RECTANGLE__SMALL = 0b1 << 19;
const MASKS__RECTANGLE__MEDIUM = 0b1 << 20;
const MASKS__RECTANGLE__LARGE = 0b1 << 21;
const MASKS__RECTANGLE__XLARGE = 0b1 << 22;
const MASKS__RECTANGLE__XXLARGE = 0b1 << 23;
const MASKS__WIDE__XSMALL = 0b1 << 24;
const MASKS__WIDE__SMALL = 0b1 << 25;
const MASKS__WIDE__MEDIUM = 0b1 << 26;
const MASKS__WIDE__LARGE = 0b1 << 27;
const MASKS__WIDE__XLARGE = 0b1 << 28;
const QUALITY_MAPPINGS = [
self::MASKS__GENERIC__FULL => 75,
self::MASKS__GENERIC__320 => 75,
self::MASKS__GENERIC__360 => 75,
self::MASKS__GENERIC__400 => 75,
self::MASKS__GENERIC__480 => 75,
self::MASKS__GENERIC__600 => 75,
self::MASKS__GENERIC__720 => 75,
self::MASKS__GENERIC__800 => 75,
self::MASKS__GENERIC__1024 => 75,
self::MASKS__GENERIC__1280 => 75,
self::MASKS__GENERIC__1600 => 75,
self::MASKS__SQUARE__XSMALL => 75,
self::MASKS__SQUARE__SMALL => 75,
self::MASKS__SQUARE__MEDIUM => 75,
self::MASKS__SQUARE__LARGE => 75,
self::MASKS__SQUARE__XLARGE => 75,
self::MASKS__RECTANGLE__XXXSMALL => 75,
self::MASKS__RECTANGLE__XXSMALL => 75,
self::MASKS__RECTANGLE__XSMALL => 75,
self::MASKS__RECTANGLE__SMALL => 75,
self::MASKS__RECTANGLE__MEDIUM => 75,
self::MASKS__RECTANGLE__LARGE => 75,
self::MASKS__RECTANGLE__XLARGE => 75,
self::MASKS__RECTANGLE__XXLARGE => 75,
self::MASKS__WIDE__XSMALL => 75,
self::MASKS__WIDE__SMALL => 75,
self::MASKS__WIDE__MEDIUM => 75,
self::MASKS__WIDE__LARGE => 75,
self::MASKS__WIDE__XLARGE => 75,
];
/**
* @var array
*/
static public $sizes = array(
self::MASKS__GENERIC__FULL => '0x0',
self::MASKS__GENERIC__320 => '320x0',
self::MASKS__GENERIC__360 => '360x0',
self::MASKS__GENERIC__400 => '400x0',
self::MASKS__GENERIC__480 => '480x0',
self::MASKS__GENERIC__600 => '600x0',
self::MASKS__GENERIC__720 => '720x0',
self::MASKS__GENERIC__800 => '800x0',
self::MASKS__GENERIC__1024 => '1024x0',
self::MASKS__GENERIC__1280 => '1280x0',
self::MASKS__GENERIC__1600 => '1600x0',
self::MASKS__SQUARE__XSMALL => '85x85',
self::MASKS__SQUARE__SMALL => '120x120',
self::MASKS__SQUARE__MEDIUM => '240x240',
self::MASKS__SQUARE__LARGE => '320x320',
self::MASKS__SQUARE__XLARGE => '420x420',
self::MASKS__RECTANGLE__XXXSMALL => '120x83',
self::MASKS__RECTANGLE__XXSMALL => '260x180',
self::MASKS__RECTANGLE__XSMALL => '320x221',
self::MASKS__RECTANGLE__SMALL => '400x276',
self::MASKS__RECTANGLE__MEDIUM => '500x345',
self::MASKS__RECTANGLE__LARGE => '600x414',
self::MASKS__RECTANGLE__XLARGE => '768x530',
self::MASKS__RECTANGLE__XXLARGE => '960x663',
self::MASKS__WIDE__XSMALL => '320x133',
self::MASKS__WIDE__SMALL => '480x200',
self::MASKS__WIDE__MEDIUM => '768x320',
self::MASKS__WIDE__LARGE => '960x400',
self::MASKS__WIDE__XLARGE => '1200x500',
);
/**
* @var array
*/
static public $ratios = array(
self::MASKS__GENERIC__FULL => 'generic',
self::MASKS__GENERIC__320 => 'generic',
self::MASKS__GENERIC__360 => 'generic',
self::MASKS__GENERIC__400 => 'generic',
self::MASKS__GENERIC__480 => 'generic',
self::MASKS__GENERIC__600 => 'generic',
self::MASKS__GENERIC__720 => 'generic',
self::MASKS__GENERIC__800 => 'generic',
self::MASKS__GENERIC__1024 => 'generic',
self::MASKS__GENERIC__1280 => 'generic',
self::MASKS__GENERIC__1600 => 'generic',
self::MASKS__SQUARE__XSMALL => 'square',
self::MASKS__SQUARE__SMALL => 'square',
self::MASKS__SQUARE__MEDIUM => 'square',
self::MASKS__SQUARE__LARGE => 'square',
self::MASKS__SQUARE__XLARGE => 'square',
self::MASKS__RECTANGLE__XXXSMALL => 'rectangle',
self::MASKS__RECTANGLE__XXSMALL => 'rectangle',
self::MASKS__RECTANGLE__XSMALL => 'rectangle',
self::MASKS__RECTANGLE__SMALL => 'rectangle',
self::MASKS__RECTANGLE__MEDIUM => 'rectangle',
self::MASKS__RECTANGLE__LARGE => 'rectangle',
self::MASKS__RECTANGLE__XLARGE => 'rectangle',
self::MASKS__RECTANGLE__XXLARGE => 'rectangle',
self::MASKS__WIDE__XSMALL => 'wide',
self::MASKS__WIDE__SMALL => 'wide',
self::MASKS__WIDE__MEDIUM => 'wide',
self::MASKS__WIDE__LARGE => 'wide',
self::MASKS__WIDE__XLARGE => 'wide',
);
/**
* @var string
*
* @ORM\Column(
* type = "array",
* nullable = true
* )
*/
protected $cropSquare;
/**
* @var string
*
* @ORM\Column(
* type = "array",
* nullable = true
* )
*/
protected $cropRectangle;
/**
* @var string
*
* @ORM\Column(
* type = "array",
* nullable = true
* )
*/
protected $cropWide;
/**
* @return array
*/
public function getCropSquare()
{
return $this->cropSquare;
}
/**
* @param array $value
* @return $this
*/
public function setCropSquare(array $value = null)
{
$this->cropSquare = $value;
return $this;
}
/**
* @return array
*/
public function getCropRectangle()
{
return $this->cropRectangle;
}
/**
* @param array $value
* @return $this
*/
public function setCropRectangle(array $value = null)
{
$this->cropRectangle = $value;
return $this;
}
/**
* @return array
*/
public function getCropWide()
{
return $this->cropWide;
}
/**
* @param array $value
* @return $this
*/
public function setCropWide(array $value = null)
{
$this->cropWide = $value;
return $this;
}
}