From: dooglus Date: Sat, 20 Sep 2008 15:46:33 +0000 (+0000) Subject: Fix 2119764 "eyedropper doesn't work with straight blends" for rectangles. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=436691ba66866cb4042f2814a3572404c1edd4d1;p=synfig.git Fix 2119764 "eyedropper doesn't work with straight blends" for rectangles. git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2063 1f10aa63-cdf2-0310-b900-c93c546f37ac --- diff --git a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp index 21fa4d2..374af9c 100644 --- a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp +++ b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp @@ -274,27 +274,26 @@ Rectangle::get_color(Context context, const Point &pos)const if( pos[0]min[0] && pos[1]min[1] ) { + // inside the expanded rectangle if(invert) - return context.get_color(pos); - else - { - if(is_solid_color()) - return color; - else - return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method()); + return Color::blend(Color::alpha(),context.get_color(pos),get_amount(),get_blend_method()); - } - } + if(is_solid_color()) + return color; - if(invert) + return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method()); + } + else { + // outside the expanded rectangle + if(!invert) + return Color::blend(Color::alpha(),context.get_color(pos),get_amount(),get_blend_method()); + if(is_solid_color()) return color; - else - return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method()); - } - return context.get_color(pos); + return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method()); + } } bool