Yes, but I think the operation were defined as the Color class did not contain the alpha value
Ah, Ok. In that case I would not use the arithmetic operations at all. never :)
(to - from) * delta + from
|r g b a|
r := (to red - from red) * delta + from red.
g := (to green - from green) * delta + from green.
b := (to blue - from blue) * delta + from blue.
a := (to alpha - from alpha) * delta + from alpha.
^ Color r: r g: g b: b alpha: a