Added copyright lines for files I've edited this year.
[synfig.git] / synfig-core / trunk / src / modules / lyr_std / shade.cpp
index bee4754..651432d 100644 (file)
@@ -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 &param, 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;