44
55use Sabberworm \CSS \OutputFormat ;
66use Sabberworm \CSS \Parsing \ParserState ;
7+ use Sabberworm \CSS \Parsing \UnexpectedEOFException ;
8+ use Sabberworm \CSS \Parsing \UnexpectedTokenException ;
79
810class Color extends CSSFunction
911{
12+ /**
13+ * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
14+ * @param int $iLineNo
15+ */
1016 public function __construct (array $ aColor , $ iLineNo = 0 )
1117 {
1218 parent ::__construct (implode ('' , array_keys ($ aColor )), $ aColor , ', ' , $ iLineNo );
1319 }
1420
21+ /**
22+ * @return Color|CSSFunction
23+ *
24+ * @throws UnexpectedEOFException
25+ * @throws UnexpectedTokenException
26+ */
1527 public static function parse (ParserState $ oParserState )
1628 {
1729 $ aColor = [];
@@ -79,6 +91,15 @@ public static function parse(ParserState $oParserState)
7991 return new Color ($ aColor , $ oParserState ->currentLine ());
8092 }
8193
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+ */
82103 private static function mapRange ($ fVal , $ fFromMin , $ fFromMax , $ fToMin , $ fToMax )
83104 {
84105 $ fFromRange = $ fFromMax - $ fFromMin ;
@@ -89,17 +110,28 @@ private static function mapRange($fVal, $fFromMin, $fFromMax, $fToMin, $fToMax)
89110 return $ fNewVal + $ fToMin ;
90111 }
91112
113+ /**
114+ * @return array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
115+ */
92116 public function getColor ()
93117 {
94118 return $ this ->aComponents ;
95119 }
96120
121+ /**
122+ * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aColor
123+ *
124+ * @return void
125+ */
97126 public function setColor (array $ aColor )
98127 {
99128 $ this ->setName (implode ('' , array_keys ($ aColor )));
100129 $ this ->aComponents = $ aColor ;
101130 }
102131
132+ /**
133+ * @return string
134+ */
103135 public function getColorDescription ()
104136 {
105137 return $ this ->getName ();
0 commit comments