PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / bacon / bacon-qr-code / src / Renderer / Eye / ModuleEye.php
ameliabooking / vendor / bacon / bacon-qr-code / src / Renderer / Eye Last commit date
CompositeEye.php 9 months ago EyeInterface.php 9 months ago ModuleEye.php 9 months ago SimpleCircleEye.php 9 months ago SquareEye.php 9 months ago
ModuleEye.php
55 lines
1 <?php
2 declare(strict_types = 1);
3
4 namespace BaconQrCode\Renderer\Eye;
5
6 use BaconQrCode\Encoder\ByteMatrix;
7 use BaconQrCode\Renderer\Module\ModuleInterface;
8 use BaconQrCode\Renderer\Path\Path;
9
10 /**
11 * Renders an eye based on a module renderer.
12 */
13 final class ModuleEye implements EyeInterface
14 {
15 /**
16 * @var ModuleInterface
17 */
18 private $module;
19
20 public function __construct(ModuleInterface $module)
21 {
22 $this->module = $module;
23 }
24
25 public function getExternalPath() : Path
26 {
27 $matrix = new ByteMatrix(7, 7);
28
29 for ($x = 0; $x < 7; ++$x) {
30 $matrix->set($x, 0, 1);
31 $matrix->set($x, 6, 1);
32 }
33
34 for ($y = 1; $y < 6; ++$y) {
35 $matrix->set(0, $y, 1);
36 $matrix->set(6, $y, 1);
37 }
38
39 return $this->module->createPath($matrix)->translate(-3.5, -3.5);
40 }
41
42 public function getInternalPath() : Path
43 {
44 $matrix = new ByteMatrix(3, 3);
45
46 for ($x = 0; $x < 3; ++$x) {
47 for ($y = 0; $y < 3; ++$y) {
48 $matrix->set($x, $y, 1);
49 }
50 }
51
52 return $this->module->createPath($matrix)->translate(-1.5, -1.5);
53 }
54 }
55