Failed Conditions
Push — perf-tests ( 2fc93e...db6806 )
by Adrien
13:45
created

StyleBuilder::setBorder()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 5
rs 9.4285
cc 1
eloc 3
nc 1
nop 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
    public function __construct()
20
    {
21
        $this->style = new Style();
22
    }
23
24
    /**
25
     * Makes the font bold.
26
     *
27
     * @api
28
     * @return StyleBuilder
29
     */
30
    public function setFontBold()
31
    {
32
        $this->style->setFontBold();
33
        return $this;
34
    }
35
36
    /**
37
     * Makes the font italic.
38
     *
39
     * @api
40
     * @return StyleBuilder
41
     */
42
    public function setFontItalic()
43
    {
44
        $this->style->setFontItalic();
45
        return $this;
46
    }
47
48
    /**
49
     * Makes the font underlined.
50
     *
51
     * @api
52
     * @return StyleBuilder
53
     */
54
    public function setFontUnderline()
55
    {
56
        $this->style->setFontUnderline();
57
        return $this;
58
    }
59
60
    /**
61
     * Makes the font struck through.
62
     *
63
     * @api
64
     * @return StyleBuilder
65
     */
66
    public function setFontStrikethrough()
67
    {
68
        $this->style->setFontStrikethrough();
69
        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
    public function setFontSize($fontSize)
80
    {
81
        $this->style->setFontSize($fontSize);
82
        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
    public function setFontColor($fontColor)
93
    {
94
        $this->style->setFontColor($fontColor);
95
        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
    public function setFontName($fontName)
106
    {
107
        $this->style->setFontName($fontName);
108
        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
    public function setShouldWrapText()
119
    {
120
        $this->style->setShouldWrapText();
121
        return $this;
122
    }
123
124
    /**
125
     * Set a border
126
     *
127
     * @param Border $border
128
     * @return $this
129
     */
130
    public function setBorder(Border $border)
131
    {
132
        $this->style->setBorder($border);
133
        return $this;
134
    }
135
136
    /**
137
     * Returns the configured style. The style is cached and can be reused.
138
     *
139
     * @api
140
     * @return Style
141
     */
142
    public function build()
143
    {
144
        return $this->style;
145
    }
146
}
147