I came across the following line
hsb.s = max != 0 ? 255 * delta / max : 0;
What do the ?
and :
mean in this context?
It is called the Conditional Operator (which is a ternary operator).
It has the form of: condition
? value-if-true
: value-if-false
Think of the ?
as "then" and :
as "else".
Your code is equivalent to
if (max != 0)
hsb.s = 255 * delta / max;
else
hsb.s = 0;