Completed
Pull Request — master (#211)
by Hura
03:53
created

StyleBuilder::setFontName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 5
rs 9.4285
ccs 3
cts 3
cp 1
cc 1
eloc 3
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Box\Spout\Writer\Style;
4
5
/**
6
 * Class StyleBuilder
7
 * Builder to create new styles
8
 *
9
 * @package Box\Spout\Writer\Style
10
 */
11
class StyleBuilder
12
{
13
    /** @var Style Style to be created */
14
    protected $style;
15
16
    /**
17
     *
18
     */
19 330
    public function __construct()
20
    {
21 330
        $this->style = new Style();
22 330
    }
23
24
    /**
25
     * Makes the font bold.
26
     *
27
     * @api
28
     * @return StyleBuilder
29
     */
30 36
    public function setFontBold()
31
    {
32 36
        $this->style->setFontBold();
33 36
        return $this;
34
    }
35
36
    /**
37
     * Makes the font italic.
38
     *
39
     * @api
40
     * @return StyleBuilder
41
     */
42 12
    public function setFontItalic()
43
    {
44 12
        $this->style->setFontItalic();
45 12
        return $this;
46
    }
47
48
    /**
49
     * Makes the font underlined.
50
     *
51
     * @api
52
     * @return StyleBuilder
53
     */
54 18
    public function setFontUnderline()
55
    {
56 18
        $this->style->setFontUnderline();
57 18
        return $this;
58
    }
59
60
    /**
61
     * Makes the font struck through.
62
     *
63
     * @api
64
     * @return StyleBuilder
65
     */
66 12
    public function setFontStrikethrough()
67
    {
68 12
        $this->style->setFontStrikethrough();
69 12
        return $this;
70
    }
71
72
    /**
73
     * Sets the font size.
74
     *
75
     * @api
76
     * @param int $fontSize Font size, in pixels
77
     * @return StyleBuilder
78
     */
79 135
    public function setFontSize($fontSize)
80
    {
81 135
        $this->style->setFontSize($fontSize);
82 135
        return $this;
83
    }
84
85
    /**
86
     * Sets the font color.
87
     *
88
     * @api
89
     * @param string $fontColor ARGB color (@see Color)
90
     * @return StyleBuilder
91
     */
92 6
    public function setFontColor($fontColor)
93
    {
94 6
        $this->style->setFontColor($fontColor);
95 6
        return $this;
96
    }
97
98
    /**
99
     * Sets the font name.
100
     *
101
     * @api
102
     * @param string $fontName Name of the font to use
103
     * @return StyleBuilder
104
     */
105 129
    public function setFontName($fontName)
106
    {
107 129
        $this->style->setFontName($fontName);
108 129
        return $this;
109
    }
110
111
    /**
112
     * Makes the text wrap in the cell if it's too long or
113
     * on multiple lines.
114
     *
115
     * @api
116
     * @return StyleBuilder
117
     */
118 15
    public function setShouldWrapText()
119
    {
120 15
        $this->style->setShouldWrapText();
121 15
        return $this;
122
    }
123
124
    /**
125
     * Set a border
126
     *
127
     * @param Border $border
128
     * @return $this
129
     */
130 12
    public function setBorder(Border $border)
131
    {
132 12
        $this->style->setBorder($border);
133 12
        return $this;
134
    }
135
136
    /**
137
     *  Sets a background color
138
     *
139
     * @api
140
     * @param $color ARGB color (@see Color)
141
     * @return StyleBuilder 
142
     */
143 12
    public function setBackgroundColor($color)
144
    {
145 12
        $this->style->setBackgroundColor($color);
146 12
        return $this;
147
    }
148
149
    /**
150
     * Returns the configured style. The style is cached and can be reused.
151
     *
152
     * @api
153
     * @return Style
154
     */
155 330
    public function build()
156
    {
157 330
        return $this->style;
158
    }
159
}
160