4
4
5
5
use Sabberworm \CSS \OutputFormat ;
6
6
use Sabberworm \CSS \Parsing \ParserState ;
7
+ use Sabberworm \CSS \Parsing \UnexpectedEOFException ;
8
+ use Sabberworm \CSS \Parsing \UnexpectedTokenException ;
7
9
8
10
class Color extends CSSFunction
9
11
{
12
+ /**
13
+ * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
14
+ * @param int $iLineNo
15
+ */
10
16
public function __construct (array $ aColor , $ iLineNo = 0 )
11
17
{
12
18
parent ::__construct (implode ('' , array_keys ($ aColor )), $ aColor , ', ' , $ iLineNo );
13
19
}
14
20
21
+ /**
22
+ * @return Color|CSSFunction
23
+ *
24
+ * @throws UnexpectedEOFException
25
+ * @throws UnexpectedTokenException
26
+ */
15
27
public static function parse (ParserState $ oParserState )
16
28
{
17
29
$ aColor = [];
@@ -79,6 +91,15 @@ public static function parse(ParserState $oParserState)
79
91
return new Color ($ aColor , $ oParserState ->currentLine ());
80
92
}
81
93
94
+ /**
95
+ * @param float $fVal
96
+ * @param float $fFromMin
97
+ * @param float $fFromMax
98
+ * @param float $fToMin
99
+ * @param float $fToMax
100
+ *
101
+ * @return float
102
+ */
82
103
private static function mapRange ($ fVal , $ fFromMin , $ fFromMax , $ fToMin , $ fToMax )
83
104
{
84
105
$ fFromRange = $ fFromMax - $ fFromMin ;
@@ -89,17 +110,28 @@ private static function mapRange($fVal, $fFromMin, $fFromMax, $fToMin, $fToMax)
89
110
return $ fNewVal + $ fToMin ;
90
111
}
91
112
113
+ /**
114
+ * @return array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
115
+ */
92
116
public function getColor ()
93
117
{
94
118
return $ this ->aComponents ;
95
119
}
96
120
121
+ /**
122
+ * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
123
+ *
124
+ * @return void
125
+ */
97
126
public function setColor (array $ aColor )
98
127
{
99
128
$ this ->setName (implode ('' , array_keys ($ aColor )));
100
129
$ this ->aComponents = $ aColor ;
101
130
}
102
131
132
+ /**
133
+ * @return string
134
+ */
103
135
public function getColorDescription ()
104
136
{
105
137
return $ this ->getName ();
0 commit comments