Author: Carlos Lopez <[email protected]>
Date: Tue Apr 16 20:39:41 2013 +0200
Fix blend method DIFFERENCE 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 7d330d1..086901e 100644
--- a/synfig-core/src/synfig/color.cpp
+++ b/synfig-core/src/synfig/color.cpp
@@ -662,11 +662,11 @@ blendfunc_DIFFERENCE(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=abs(rb-(ra*aba)/255);
- gc=abs(gb-(ga*aba)/255);
- bc=abs(bb-(ba*aba)/255);
+ rc=abs(rb-ra*aaa);
+ gc=abs(gb-ga*aaa);
+ bc=abs(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
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl