X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Flyr_std%2Fshade.cpp;h=651432d3925477e790c685946a04e1c54209f1fb;hb=c96b60b2dfad806d2b69829afa9ae2098b4f85ea;hp=33815bf356f19b7243b118ffb4e8103375ec8c40;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/modules/lyr_std/shade.cpp b/synfig-core/trunk/src/modules/lyr_std/shade.cpp index 33815bf..651432d 100644 --- a/synfig-core/trunk/src/modules/lyr_std/shade.cpp +++ b/synfig-core/trunk/src/modules/lyr_std/shade.cpp @@ -1,11 +1,12 @@ /* === S Y N F I G ========================================================= */ /*! \file shade.cpp -** \brief Template Header +** \brief Implementation of the "Shade" layer ** ** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 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 @@ -53,9 +54,7 @@ using namespace std; /*#define TYPE_BOX 0 #define TYPE_FASTGUASSIAN 1 -#define TYPE_FASTGAUSSIAN 1 #define TYPE_CROSS 2 -#define TYPE_GUASSIAN 3 #define TYPE_GAUSSIAN 3 #define TYPE_DISC 4 */ @@ -64,8 +63,8 @@ using namespace std; SYNFIG_LAYER_INIT(Layer_Shade); SYNFIG_LAYER_SET_NAME(Layer_Shade,"shade"); -SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Shade,_("Shade")); -SYNFIG_LAYER_SET_CATEGORY(Layer_Shade,_("Stylize")); +SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Shade,N_("Shade")); +SYNFIG_LAYER_SET_CATEGORY(Layer_Shade,N_("Stylize")); SYNFIG_LAYER_SET_VERSION(Layer_Shade,"0.2"); SYNFIG_LAYER_SET_CVS_ID(Layer_Shade,"$Id$"); @@ -92,7 +91,9 @@ Layer_Shade::set_param(const String ¶m, const ValueBase &value) { IMPORT_PLUS(size,clamp(size)); IMPORT(type); - IMPORT(color); + IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) { + set_blend_method(Color::BLEND_ALPHA_OVER); + color.set_a(1); } else transparent_color_ = true; } }); IMPORT(offset); IMPORT(invert); @@ -163,14 +164,12 @@ Layer_Shade::accelerated_render(Context context,Surface *surface,int quality, co (offset_v>0?offset_v:0)+h ); - /* - if(quality >=10) + if(quality >= 10) { halfsizex=1; halfsizey=1; - }else - */ - if(quality == 9) + } + else if (quality == 9) { halfsizex/=4; halfsizey/=4;