����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.170 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/././public_html/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/ |
Upload File : |
<?php
declare(strict_types = 1);
namespace BaconQrCode\Renderer\RendererStyle;
use BaconQrCode\Exception\RuntimeException;
use BaconQrCode\Renderer\Color\ColorInterface;
use BaconQrCode\Renderer\Color\Gray;
final class Fill
{
/**
* @var ColorInterface
*/
private $backgroundColor;
/**
* @var ColorInterface|null
*/
private $foregroundColor;
/**
* @var Gradient|null
*/
private $foregroundGradient;
/**
* @var EyeFill
*/
private $topLeftEyeFill;
/**
* @var EyeFill
*/
private $topRightEyeFill;
/**
* @var EyeFill
*/
private $bottomLeftEyeFill;
/**
* @var self|null
*/
private static $default;
private function __construct(
ColorInterface $backgroundColor,
?ColorInterface $foregroundColor,
?Gradient $foregroundGradient,
EyeFill $topLeftEyeFill,
EyeFill $topRightEyeFill,
EyeFill $bottomLeftEyeFill
) {
$this->backgroundColor = $backgroundColor;
$this->foregroundColor = $foregroundColor;
$this->foregroundGradient = $foregroundGradient;
$this->topLeftEyeFill = $topLeftEyeFill;
$this->topRightEyeFill = $topRightEyeFill;
$this->bottomLeftEyeFill = $bottomLeftEyeFill;
}
public static function default() : self
{
return self::$default ?: self::$default = self::uniformColor(new Gray(100), new Gray(0));
}
public static function withForegroundColor(
ColorInterface $backgroundColor,
ColorInterface $foregroundColor,
EyeFill $topLeftEyeFill,
EyeFill $topRightEyeFill,
EyeFill $bottomLeftEyeFill
) : self {
return new self(
$backgroundColor,
$foregroundColor,
null,
$topLeftEyeFill,
$topRightEyeFill,
$bottomLeftEyeFill
);
}
public static function withForegroundGradient(
ColorInterface $backgroundColor,
Gradient $foregroundGradient,
EyeFill $topLeftEyeFill,
EyeFill $topRightEyeFill,
EyeFill $bottomLeftEyeFill
) : self {
return new self(
$backgroundColor,
null,
$foregroundGradient,
$topLeftEyeFill,
$topRightEyeFill,
$bottomLeftEyeFill
);
}
public static function uniformColor(ColorInterface $backgroundColor, ColorInterface $foregroundColor) : self
{
return new self(
$backgroundColor,
$foregroundColor,
null,
EyeFill::inherit(),
EyeFill::inherit(),
EyeFill::inherit()
);
}
public static function uniformGradient(ColorInterface $backgroundColor, Gradient $foregroundGradient) : self
{
return new self(
$backgroundColor,
null,
$foregroundGradient,
EyeFill::inherit(),
EyeFill::inherit(),
EyeFill::inherit()
);
}
public function hasGradientFill() : bool
{
return null !== $this->foregroundGradient;
}
public function getBackgroundColor() : ColorInterface
{
return $this->backgroundColor;
}
public function getForegroundColor() : ColorInterface
{
if (null === $this->foregroundColor) {
throw new RuntimeException('Fill uses a gradient, thus no foreground color is available');
}
return $this->foregroundColor;
}
public function getForegroundGradient() : Gradient
{
if (null === $this->foregroundGradient) {
throw new RuntimeException('Fill uses a single color, thus no foreground gradient is available');
}
return $this->foregroundGradient;
}
public function getTopLeftEyeFill() : EyeFill
{
return $this->topLeftEyeFill;
}
public function getTopRightEyeFill() : EyeFill
{
return $this->topRightEyeFill;
}
public function getBottomLeftEyeFill() : EyeFill
{
return $this->bottomLeftEyeFill;
}
}