| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- <?php
- /**
- * Interface QROutputInterface,
- *
- * @created 02.12.2015
- * @author Smiley <smiley@chillerlan.net>
- * @copyright 2015 Smiley
- * @license MIT
- */
- namespace chillerlan\QRCode\Output;
- use chillerlan\QRCode\Data\QRMatrix;
- /**
- * Converts the data matrix into readable output
- */
- interface QROutputInterface{
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const MARKUP_HTML = 'html';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const MARKUP_SVG = 'svg';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const GDIMAGE_BMP = 'bmp';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const GDIMAGE_GIF = 'gif';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const GDIMAGE_JPG = 'jpg';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const GDIMAGE_PNG = 'png';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const GDIMAGE_WEBP = 'webp';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const STRING_JSON = 'json';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const STRING_TEXT = 'text';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const IMAGICK = 'imagick';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const FPDF = 'fpdf';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const EPS = 'eps';
- /**
- * @var string
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const CUSTOM = 'custom';
- /**
- * Map of built-in output modes => class FQN
- *
- * @var string[]
- * @deprecated 5.0.0 <no replacement>
- * @see https://github.com/chillerlan/php-qrcode/issues/223
- */
- public const MODES = [
- self::MARKUP_SVG => QRMarkupSVG::class,
- self::MARKUP_HTML => QRMarkupHTML::class,
- self::GDIMAGE_BMP => QRGdImageBMP::class,
- self::GDIMAGE_GIF => QRGdImageGIF::class,
- self::GDIMAGE_JPG => QRGdImageJPEG::class,
- self::GDIMAGE_PNG => QRGdImagePNG::class,
- self::GDIMAGE_WEBP => QRGdImageWEBP::class,
- self::STRING_JSON => QRStringJSON::class,
- self::STRING_TEXT => QRStringText::class,
- self::IMAGICK => QRImagick::class,
- self::FPDF => QRFpdf::class,
- self::EPS => QREps::class,
- ];
- /**
- * Map of module type => default value
- *
- * @var bool[]
- */
- public const DEFAULT_MODULE_VALUES = [
- // light
- QRMatrix::M_NULL => false,
- QRMatrix::M_DARKMODULE_LIGHT => false,
- QRMatrix::M_DATA => false,
- QRMatrix::M_FINDER => false,
- QRMatrix::M_SEPARATOR => false,
- QRMatrix::M_ALIGNMENT => false,
- QRMatrix::M_TIMING => false,
- QRMatrix::M_FORMAT => false,
- QRMatrix::M_VERSION => false,
- QRMatrix::M_QUIETZONE => false,
- QRMatrix::M_LOGO => false,
- QRMatrix::M_FINDER_DOT_LIGHT => false,
- // dark
- QRMatrix::M_DARKMODULE => true,
- QRMatrix::M_DATA_DARK => true,
- QRMatrix::M_FINDER_DARK => true,
- QRMatrix::M_SEPARATOR_DARK => true,
- QRMatrix::M_ALIGNMENT_DARK => true,
- QRMatrix::M_TIMING_DARK => true,
- QRMatrix::M_FORMAT_DARK => true,
- QRMatrix::M_VERSION_DARK => true,
- QRMatrix::M_QUIETZONE_DARK => true,
- QRMatrix::M_LOGO_DARK => true,
- QRMatrix::M_FINDER_DOT => true,
- ];
- /**
- * Map of module type => readable name (for CSS etc.)
- *
- * @var string[]
- */
- public const LAYERNAMES = [
- // light
- QRMatrix::M_NULL => 'null',
- QRMatrix::M_DARKMODULE_LIGHT => 'darkmodule-light',
- QRMatrix::M_DATA => 'data',
- QRMatrix::M_FINDER => 'finder',
- QRMatrix::M_SEPARATOR => 'separator',
- QRMatrix::M_ALIGNMENT => 'alignment',
- QRMatrix::M_TIMING => 'timing',
- QRMatrix::M_FORMAT => 'format',
- QRMatrix::M_VERSION => 'version',
- QRMatrix::M_QUIETZONE => 'quietzone',
- QRMatrix::M_LOGO => 'logo',
- QRMatrix::M_FINDER_DOT_LIGHT => 'finder-dot-light',
- // dark
- QRMatrix::M_DARKMODULE => 'darkmodule',
- QRMatrix::M_DATA_DARK => 'data-dark',
- QRMatrix::M_FINDER_DARK => 'finder-dark',
- QRMatrix::M_SEPARATOR_DARK => 'separator-dark',
- QRMatrix::M_ALIGNMENT_DARK => 'alignment-dark',
- QRMatrix::M_TIMING_DARK => 'timing-dark',
- QRMatrix::M_FORMAT_DARK => 'format-dark',
- QRMatrix::M_VERSION_DARK => 'version-dark',
- QRMatrix::M_QUIETZONE_DARK => 'quietzone-dark',
- QRMatrix::M_LOGO_DARK => 'logo-dark',
- QRMatrix::M_FINDER_DOT => 'finder-dot',
- ];
- /**
- * @var string
- * @see \chillerlan\QRCode\Output\QROutputAbstract::toBase64DataURI()
- * @internal do not call this constant from the interface, but rather from one of the child classes
- */
- public const MIME_TYPE = '';
- /**
- * Determines whether the given value is valid
- *
- * @param mixed $value
- */
- public static function moduleValueIsValid($value):bool;
- /**
- * Generates the output, optionally dumps it to a file, and returns it
- *
- * please note that the value of QROptions::$cachefile is already evaluated at this point.
- * if the output module is invoked manually, it has no effect at all.
- * you need to supply the $file parameter here in that case (or handle the option value in your custom output module).
- *
- * @see \chillerlan\QRCode\QRCode::renderMatrix()
- *
- * @return mixed
- */
- public function dump(?string $file = null);
- }
|