Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
PageSize
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
2 / 2
14
100.00% covered (success)
100.00%
1 / 1
 width
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
7
 height
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
7
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Writer;
6
7/**
8 * Standard page sizes, expressed in PDF user units (points, 1/72 inch).
9 */
10enum PageSize
11{
12    case Letter;   // 8.5 × 11 in
13    case Legal;    // 8.5 × 14 in
14    case Tabloid;  // 11 × 17 in
15    case A3;       // 297 × 420 mm
16    case A4;       // 210 × 297 mm
17    case A5;       // 148 × 210 mm
18
19    public function width(): float
20    {
21        return match ($this) {
22            self::Letter  => 612.0,
23            self::Legal   => 612.0,
24            self::Tabloid => 792.0,
25            self::A3      => 841.89,
26            self::A4      => 595.28,
27            self::A5      => 419.53,
28        };
29    }
30
31    public function height(): float
32    {
33        return match ($this) {
34            self::Letter  => 792.0,
35            self::Legal   => 1008.0,
36            self::Tabloid => 1224.0,
37            self::A3      => 1190.55,
38            self::A4      => 841.89,
39            self::A5      => 595.28,
40        };
41    }
42}