X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_geometry%2Frectangle.cpp;h=374af9c1a7a98c2d1a90067fd35a197bf0a27f6c;hb=990f7bb7694e0472ed6ad165e0724864539071cd;hp=11fbe5330f2acf19f9b295d722de8ecfa10b86cd;hpb=2f015c519aa92f29144873527c109c21c171c6a7;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp index 11fbe53..374af9c 100644 --- a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp +++ b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp @@ -6,7 +6,7 @@ ** ** \legal ** Copyright (c) 2002 Robert B. Quattlebaum Jr. -** Copyright (c) 2007 Chris Moore +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -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