aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPattern.php
blob: 72feafdfa2ec09820a9539be8d78e1843c0ec4e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/**
 * Class AlignmentPattern
 *
 * @created      17.01.2021
 * @author       ZXing Authors
 * @author       Smiley <smiley@chillerlan.net>
 * @copyright    2021 Smiley
 * @license      Apache-2.0
 */

namespace chillerlan\QRCode\Detector;

/**
 * Encapsulates an alignment pattern, which are the smaller square patterns found in
 * all but the simplest QR Codes.
 *
 * @author Sean Owen
 */
final class AlignmentPattern extends ResultPoint{

	/**
	 * Combines this object's current estimate of a finder pattern position and module size
	 * with a new estimate. It returns a new FinderPattern containing an average of the two.
	 */
	public function combineEstimate(float $i, float $j, float $newModuleSize):self{
		return new self(
			(($this->x + $j) / 2.0),
			(($this->y + $i) / 2.0),
			(($this->estimatedModuleSize + $newModuleSize) / 2.0)
		);
	}

}