Completed
Pull Request — master (#1559)
by Adrien
09:36
created

PageMargins::toMillimeters()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 0
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheet\Worksheet;
4
5
class PageMargins
6
{
7
    /**
8
     * Left.
9
     *
10
     * @var float
11
     */
12
    private $left = 0.7;
13
14
    /**
15
     * Right.
16
     *
17
     * @var float
18
     */
19
    private $right = 0.7;
20
21
    /**
22
     * Top.
23
     *
24
     * @var float
25
     */
26
    private $top = 0.75;
27
28
    /**
29
     * Bottom.
30
     *
31
     * @var float
32
     */
33
    private $bottom = 0.75;
34
35
    /**
36
     * Header.
37
     *
38
     * @var float
39
     */
40
    private $header = 0.3;
41
42
    /**
43
     * Footer.
44
     *
45
     * @var float
46
     */
47
    private $footer = 0.3;
48
49
    /**
50
     * Create a new PageMargins.
51
     */
52 359
    public function __construct()
53
    {
54 359
    }
55
56
    /**
57
     * Get Left.
58
     *
59
     * @return float
60
     */
61 137
    public function getLeft()
62
    {
63 137
        return $this->left;
64
    }
65
66
    /**
67
     * Set Left.
68
     *
69
     * @param float $pValue
70
     *
71
     * @return $this
72
     */
73 87
    public function setLeft($pValue)
74
    {
75 87
        $this->left = $pValue;
76
77 87
        return $this;
78
    }
79
80
    /**
81
     * Get Right.
82
     *
83
     * @return float
84
     */
85 137
    public function getRight()
86
    {
87 137
        return $this->right;
88
    }
89
90
    /**
91
     * Set Right.
92
     *
93
     * @param float $pValue
94
     *
95
     * @return $this
96
     */
97 87
    public function setRight($pValue)
98
    {
99 87
        $this->right = $pValue;
100
101 87
        return $this;
102
    }
103
104
    /**
105
     * Get Top.
106
     *
107
     * @return float
108
     */
109 137
    public function getTop()
110
    {
111 137
        return $this->top;
112
    }
113
114
    /**
115
     * Set Top.
116
     *
117
     * @param float $pValue
118
     *
119
     * @return $this
120
     */
121 87
    public function setTop($pValue)
122
    {
123 87
        $this->top = $pValue;
124
125 87
        return $this;
126
    }
127
128
    /**
129
     * Get Bottom.
130
     *
131
     * @return float
132
     */
133 136
    public function getBottom()
134
    {
135 136
        return $this->bottom;
136
    }
137
138
    /**
139
     * Set Bottom.
140
     *
141
     * @param float $pValue
142
     *
143
     * @return $this
144
     */
145 87
    public function setBottom($pValue)
146
    {
147 87
        $this->bottom = $pValue;
148
149 87
        return $this;
150
    }
151
152
    /**
153
     * Get Header.
154
     *
155
     * @return float
156
     */
157 121
    public function getHeader()
158
    {
159 121
        return $this->header;
160
    }
161
162
    /**
163
     * Set Header.
164
     *
165
     * @param float $pValue
166
     *
167
     * @return $this
168
     */
169 99
    public function setHeader($pValue)
170
    {
171 99
        $this->header = $pValue;
172
173 99
        return $this;
174
    }
175
176
    /**
177
     * Get Footer.
178
     *
179
     * @return float
180
     */
181 120
    public function getFooter()
182
    {
183 120
        return $this->footer;
184
    }
185
186
    /**
187
     * Set Footer.
188
     *
189
     * @param float $pValue
190
     *
191
     * @return $this
192
     */
193 99
    public function setFooter($pValue)
194
    {
195 99
        $this->footer = $pValue;
196
197 99
        return $this;
198
    }
199
200
    /**
201
     * Implement PHP __clone to create a deep clone, not just a shallow copy.
202
     */
203
    public function __clone()
204
    {
205
        $vars = get_object_vars($this);
206
        foreach ($vars as $key => $value) {
207
            if (is_object($value)) {
208
                $this->$key = clone $value;
209
            } else {
210
                $this->$key = $value;
211
            }
212
        }
213
    }
214
215
    public static function fromCentimeters(float $value): float
216
    {
217
        return $value / 2.54;
218
    }
219
220
    public static function toCentimeters(float $value): float
221
    {
222
        return $value * 2.54;
223
    }
224
225
    public static function fromMillimeters(float $value): float
226
    {
227
        return $value / 25.4;
228
    }
229
230
    public static function toMillimeters(float $value): float
231
    {
232
        return $value * 25.4;
233
    }
234
235
    public static function fromPoints(float $value): float
236
    {
237
        return $value / 72;
238
    }
239
240
    public static function toPoints(float $value): float
241
    {
242
        return $value * 72;
243
    }
244
}
245