46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Endroid\QrCode\Builder;
|
|
|
|
use Endroid\QrCode\Color\ColorInterface;
|
|
use Endroid\QrCode\Encoding\EncodingInterface;
|
|
use Endroid\QrCode\ErrorCorrectionLevel;
|
|
use Endroid\QrCode\Label\Font\FontInterface;
|
|
use Endroid\QrCode\Label\LabelAlignment;
|
|
use Endroid\QrCode\Label\Margin\MarginInterface;
|
|
use Endroid\QrCode\RoundBlockSizeMode;
|
|
use Endroid\QrCode\Writer\Result\ResultInterface;
|
|
use Endroid\QrCode\Writer\WriterInterface;
|
|
|
|
interface BuilderInterface
|
|
{
|
|
/** @param array<mixed>|null $writerOptions */
|
|
public function build(
|
|
?WriterInterface $writer = null,
|
|
?array $writerOptions = null,
|
|
?bool $validateResult = null,
|
|
// QrCode options
|
|
?string $data = null,
|
|
?EncodingInterface $encoding = null,
|
|
?ErrorCorrectionLevel $errorCorrectionLevel = null,
|
|
?int $size = null,
|
|
?int $margin = null,
|
|
?RoundBlockSizeMode $roundBlockSizeMode = null,
|
|
?ColorInterface $foregroundColor = null,
|
|
?ColorInterface $backgroundColor = null,
|
|
// Label options
|
|
?string $labelText = null,
|
|
?FontInterface $labelFont = null,
|
|
?LabelAlignment $labelAlignment = null,
|
|
?MarginInterface $labelMargin = null,
|
|
?ColorInterface $labelTextColor = null,
|
|
// Logo options
|
|
?string $logoPath = null,
|
|
?int $logoResizeToWidth = null,
|
|
?int $logoResizeToHeight = null,
|
|
?bool $logoPunchoutBackground = null,
|
|
): ResultInterface;
|
|
}
|