@@ -285,13 +285,7 @@ namespace Sass {
285
285
BUILT_IN (blue)
286
286
{ return SASS_MEMORY_NEW (Number, pstate, ARG (" $color" , Color)->b ()); }
287
287
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) {
295
289
double p = weight->value ()/100 ;
296
290
double w = 2 *p - 1 ;
297
291
double a = color1->a () - color2->a ();
@@ -307,6 +301,16 @@ namespace Sass {
307
301
color1->a ()*p + color2->a ()*(1 -p));
308
302
}
309
303
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
+
310
314
// //////////////
311
315
// HSL FUNCTIONS
312
316
// //////////////
@@ -596,7 +600,7 @@ namespace Sass {
596
600
pstate);
597
601
}
598
602
599
- Signature invert_sig = " invert($color)" ;
603
+ Signature invert_sig = " invert($color, $weight: 100% )" ;
600
604
BUILT_IN (invert)
601
605
{
602
606
// CSS3 filter function overload: pass literal through directly
@@ -605,13 +609,15 @@ namespace Sass {
605
609
return SASS_MEMORY_NEW (String_Quoted, pstate, " invert(" + amount->to_string (ctx.c_options ) + " )" );
606
610
}
607
611
612
+ Number_Obj weight = ARGR (" $weight" , Number, 0 , 100 );
608
613
Color_Ptr rgb_color = ARG (" $color" , Color);
609
- return SASS_MEMORY_NEW (Color,
614
+ Color_Obj inv = SASS_MEMORY_NEW (Color,
610
615
pstate,
611
616
255 - rgb_color->r (),
612
617
255 - rgb_color->g (),
613
618
255 - rgb_color->b (),
614
619
rgb_color->a ());
620
+ return colormix (ctx, pstate, &inv, rgb_color, &weight);
615
621
}
616
622
617
623
// //////////////////
0 commit comments