Файл: vendor/intervention/gif/src/Encoders/FrameBlockEncoder.php
Строк: 112
<?php
declare(strict_types=1);
namespace InterventionGifEncoders;
use InterventionGifBlocksApplicationExtension;
use InterventionGifBlocksCommentExtension;
use InterventionGifBlocksFrameBlock;
use InterventionGifExceptionsEncoderException;
class FrameBlockEncoder extends AbstractEncoder
{
/**
* Create new decoder instance.
*/
public function __construct(FrameBlock $entity)
{
parent::__construct($entity);
}
/**
* Encode current entity.
*
* @throws EncoderException
*/
public function encode(): string
{
$graphicControlExtension = $this->entity->graphicControlExtension();
$colorTable = $this->entity->colorTable();
$plainTextExtension = $this->entity->plainTextExtension();
return implode('', [
implode('', array_map(
fn(ApplicationExtension $extension): string => $extension->encode(),
$this->entity->applicationExtensions(),
)),
implode('', array_map(
fn(CommentExtension $extension): string => $extension->encode(),
$this->entity->commentExtensions(),
)),
$plainTextExtension ? $plainTextExtension->encode() : '',
$graphicControlExtension ? $graphicControlExtension->encode() : '',
$this->entity->imageDescriptor()->encode(),
$colorTable ? $colorTable->encode() : '',
$this->entity->imageData()->encode(),
]);
}
}