/* === S Y N F I G ========================================================= */
/*! \file circle.cpp
-** \brief Template Header
+** \brief Implementation of the "Circle" layer
**
** $Id$
**
SYNFIG_LAYER_INIT(Circle);
SYNFIG_LAYER_SET_NAME(Circle,"circle");
-SYNFIG_LAYER_SET_LOCAL_NAME(Circle,_("Circle"));
-SYNFIG_LAYER_SET_CATEGORY(Circle,_("Geometry"));
+SYNFIG_LAYER_SET_LOCAL_NAME(Circle,N_("Circle"));
+SYNFIG_LAYER_SET_CATEGORY(Circle,N_("Geometry"));
SYNFIG_LAYER_SET_VERSION(Circle,"0.1");
SYNFIG_LAYER_SET_CVS_ID(Circle,"$Id$");
bool
Circle::ImportParameters(const String ¶m, const ValueBase &value)
{
- 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(radius);
IMPORT(feather);
IMPORT(invert);
// Increasing the feather amount by the size of
// a pixel will create an anti-aliased appearance
- const Real newfeather=feather + (abs(ph)+abs(pw))/4.0;
+ // don't render feathering at all when quality is 10
+ const Real newfeather = (quality == 10) ? 0 : feather + (abs(ph)+abs(pw))/4.0;
//int u,v;
int left = (int) floor( (pos[0] - x_neg*(radius+newfeather) - tl[0]) / pw );