Make a note to investigate blendfunc_ALPHA_BRIGHTEN. It seems to be multiplying...
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 22 Jan 2008 12:30:47 +0000 (12:30 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 22 Jan 2008 12:30:47 +0000 (12:30 +0000)
git-svn-id: http://svn.voria.com/code@1419 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/src/synfig/color.cpp

index 75e6441..3a45ff7 100644 (file)
@@ -444,7 +444,9 @@ blendfunc_BEHIND(Color &a,Color &b,float amount)
 static Color
 blendfunc_ALPHA_BRIGHTEN(Color &a,Color &b,float amount)
 {
-       if(a.get_a()<b.get_a()*amount)
+       // \todo can this be right, multiplying amount by *b*'s alpha?
+       // compare with blendfunc_BRIGHTEN where it is multiplied by *a*'s
+       if(a.get_a() < b.get_a()*amount)
                return a.set_a(a.get_a()*amount);
        return b;
 }
@@ -452,7 +454,7 @@ blendfunc_ALPHA_BRIGHTEN(Color &a,Color &b,float amount)
 static Color
 blendfunc_ALPHA_DARKEN(Color &a,Color &b,float amount)
 {
-       if(a.get_a()*amount>b.get_a())
+       if(a.get_a()*amount > b.get_a())
                return a.set_a(a.get_a()*amount);
        return b;
 }