Author: Carlos Lopez <genet...@gmail.com>
Date:   Tue Apr 16 20:36:33 2013 +0200

Fix blend method SUBTRACT for CairoColor.

---

 synfig-core/src/synfig/color.cpp |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/synfig-core/src/synfig/color.cpp b/synfig-core/src/synfig/color.cpp
index ab3edba..7d330d1 100644
--- a/synfig-core/src/synfig/color.cpp
+++ b/synfig-core/src/synfig/color.cpp
@@ -620,11 +620,11 @@ blendfunc_SUBTRACT(CairoColor &a, CairoColor &b, float 
amount)
        bb=b.get_b();
        ab=b.get_a();
        
-       int aba=ab*amount;
+       const float aaa=aa*amount/255.0;
        
-       rc=rb-(ra*aba)/255;
-       gc=gb-(ga*aba)/255;
-       bc=bb-(ba*aba)/255;
+       rc=rb-ra*aaa;
+       gc=gb-ga*aaa;
+       bc=bb-ba*aaa;
        ac=ab;
        
        return CairoColor(rc, gc, bc, ac);


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to