X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_geometry%2Fcircle.cpp;h=d9d8bed067535c5a769ef24ed75f827ba632dc06;hb=334e15ce6c4d9b1f30a168a55e7ef4d31320d568;hp=0f90a4b30689351104ad99401fcd1cf997448366;hpb=5ddcf36f04cfbd10fabda4e3c5633cb27cdd4c0a;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_geometry/circle.cpp b/synfig-core/trunk/src/modules/mod_geometry/circle.cpp index 0f90a4b..d9d8bed 100644 --- a/synfig-core/trunk/src/modules/mod_geometry/circle.cpp +++ b/synfig-core/trunk/src/modules/mod_geometry/circle.cpp @@ -1,8 +1,8 @@ /* === S Y N F I G ========================================================= */ /*! \file circle.cpp -** \brief Template Header +** \brief Implementation of the "Circle" layer ** -** $Id: circle.cpp,v 1.2 2005/01/24 03:08:17 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley @@ -51,10 +51,10 @@ using namespace etl; 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: circle.cpp,v 1.2 2005/01/24 03:08:17 darco Exp $"); +SYNFIG_LAYER_SET_CVS_ID(Circle,"$Id$"); /* -- F U N C T I O N S ----------------------------------------------------- */ @@ -73,7 +73,9 @@ Circle::Circle(): 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); @@ -441,7 +443,8 @@ Circle::accelerated_render(Context context,Surface *surface,int quality, const R // 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 );