Passed
Push — master ( 689ec5...45f08c )
by Sebastian
05:26
created

FontStyle::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AppUtils\StyleCollection\StyleBuilder\Flavors\Font;
6
7
use AppUtils\StyleCollection\StyleBuilder;
8
use AppUtils\StyleCollection\StyleBuilder\StyleContainer;
9
10
class FontStyle extends StyleContainer
11
{
12
    public const STYLE_ITALIC = 'italic';
13
    public const STYLE_OBLIQUE = 'oblique';
14
    public const OBLIQUE_DEFAULT_DEGREES = 14;
15
16
    protected function getName() : string
17
    {
18
        return 'font-style';
19
    }
20
21
    public function italic(bool $important=false) : StyleBuilder
22
    {
23
        return $this->setStyle(self::STYLE_ITALIC, $important);
24
    }
25
26
    /**
27
     * font-style:oblique
28
     *
29
     * @param int|NULL $degrees -90 to 90, default 14
30
     * @param bool $important
31
     * @return StyleBuilder
32
     * @link https://developer.mozilla.org/fr/docs/Web/CSS/font-style
33
     */
34
    public function oblique(int $degrees=self::OBLIQUE_DEFAULT_DEGREES, bool $important=false) : StyleBuilder
35
    {
36
        $value = self::STYLE_OBLIQUE;
37
38
        if($degrees !== self::OBLIQUE_DEFAULT_DEGREES)
39
        {
40
            $value .= sprintf(
41
                ' %sdeg',
42
                $degrees
43
            );
44
        }
45
46
        return $this->setStyle($value, $important);
47
    }
48
}
49