@@ -285,13 +285,7 @@ namespace Sass {
285285 BUILT_IN (blue)
286286 { return SASS_MEMORY_NEW (Number, pstate, ARG (" $color" , Color)->b ()); }
287287
288- Signature mix_sig = " mix($color-1, $color-2, $weight: 50%)" ;
289- BUILT_IN (mix)
290- {
291- Color_Ptr color1 = ARG (" $color-1" , Color);
292- Color_Ptr color2 = ARG (" $color-2" , Color);
293- Number_Ptr weight = ARGR (" $weight" , Number, 0 , 100 );
294-
288+ Color* colormix (Context& ctx, ParserState& pstate, Color* color1, Color* color2, Number* weight) {
295289 double p = weight->value ()/100 ;
296290 double w = 2 *p - 1 ;
297291 double a = color1->a () - color2->a ();
@@ -307,6 +301,16 @@ namespace Sass {
307301 color1->a ()*p + color2->a ()*(1 -p));
308302 }
309303
304+ Signature mix_sig = " mix($color-1, $color-2, $weight: 50%)" ;
305+ BUILT_IN (mix)
306+ {
307+ Color_Obj color1 = ARG (" $color-1" , Color);
308+ Color_Obj color2 = ARG (" $color-2" , Color);
309+ Number_Obj weight = ARGR (" $weight" , Number, 0 , 100 );
310+ return colormix (ctx, pstate, &color1, &color2, &weight);
311+
312+ }
313+
310314 // //////////////
311315 // HSL FUNCTIONS
312316 // //////////////
@@ -596,7 +600,7 @@ namespace Sass {
596600 pstate);
597601 }
598602
599- Signature invert_sig = " invert($color)" ;
603+ Signature invert_sig = " invert($color, $weight: 100% )" ;
600604 BUILT_IN (invert)
601605 {
602606 // CSS3 filter function overload: pass literal through directly
@@ -605,13 +609,15 @@ namespace Sass {
605609 return SASS_MEMORY_NEW (String_Quoted, pstate, " invert(" + amount->to_string (ctx.c_options ) + " )" );
606610 }
607611
612+ Number_Obj weight = ARGR (" $weight" , Number, 0 , 100 );
608613 Color_Ptr rgb_color = ARG (" $color" , Color);
609- return SASS_MEMORY_NEW (Color,
614+ Color_Obj inv = SASS_MEMORY_NEW (Color,
610615 pstate,
611616 255 - rgb_color->r (),
612617 255 - rgb_color->g (),
613618 255 - rgb_color->b (),
614619 rgb_color->a ());
620+ return colormix (ctx, pstate, &inv, rgb_color, &weight);
615621 }
616622
617623 // //////////////////
0 commit comments