X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Flyr_std%2Fshade.cpp;h=651432d3925477e790c685946a04e1c54209f1fb;hb=756c0d29ac1742f231e6615f9a577e574e35a4af;hp=bee47543f423394a8bc6de9e11d50e28f4e72b40;hpb=5ddcf36f04cfbd10fabda4e3c5633cb27cdd4c0a;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 bee4754..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: shade.cpp,v 1.2 2005/01/24 03:08:17 darco Exp $ +** $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,10 +63,10 @@ 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: shade.cpp,v 1.2 2005/01/24 03:08:17 darco Exp $"); +SYNFIG_LAYER_SET_CVS_ID(Layer_Shade,"$Id$"); /* -- F U N C T I O N S ----------------------------------------------------- */ @@ -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;