- ColorAccumulator ret(Color::blend(color2.color,color1.color, amount, Color::BLEND_STRAIGHT));
- ret.set_r(ret.get_r()*ret.get_a());
- ret.set_g(ret.get_g()*ret.get_a());
- ret.set_b(ret.get_b()*ret.get_a());
- return ret*weight;
+ ColorAccumulator ret(Color::blend(color2.color,color1.color, amount, Color::BLEND_STRAIGHT).premult_alpha()*weight);
+ return ret;