X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_shape.cpp;h=c24efb3cb3510f6dcdbf77ed626ef1b991fd7c5e;hb=337c51f149144c0844874ed20f71d780785c4127;hp=32dde4d94f5d6577f0a7e265404badfa2f5647e0;hpb=531d1447b95f99c66f9edc6612b2e9446647f5ff;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_shape.cpp b/synfig-core/trunk/src/synfig/layer_shape.cpp index 32dde4d..c24efb3 100644 --- a/synfig-core/trunk/src/synfig/layer_shape.cpp +++ b/synfig-core/trunk/src/synfig/layer_shape.cpp @@ -6,7 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore +** Copyright (c) 2007, 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 @@ -245,11 +245,13 @@ struct MonoSegment //assumes that the rect culled away anything that would be beyond the edges if(ydir > 0) { - while(y > (*++p)[1]); + while(y > (*++p)[1]) + ; } else { - while(y < (*++p)[1]); + while(y < (*++p)[1]) + ; } //for the loop to break there must have been a slope (straight line would do nothing) @@ -335,7 +337,7 @@ struct CurveArray if( (y > ymax && y > p[1][1]) || (y < ymin && y < p[1][1]) ) return 0; //degenerate line max - if(ymin == ymax == p[1][1]) + if(ymin == ymax && ymax == p[1][1]) return 0; //degenerate accept - to the right and crossing the base line @@ -945,7 +947,7 @@ struct PenMark void setcover(Real c, Real a) { cover = c; area = a; } void addcover(Real c, Real a) { cover += c; area += a; } - bool operator < (const PenMark &rhs) const + bool operator<(const PenMark &rhs) const { return y == rhs.y ? x < rhs.x : y < rhs.y; } @@ -1149,11 +1151,13 @@ Layer_Shape::clear() bool Layer_Shape::set_param(const String & param, 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(offset); IMPORT(invert); IMPORT(antialias); - IMPORT(feather); + IMPORT_PLUS(feather, if(feather<0)feather=0;); IMPORT(blurtype); IMPORT(winding_style); @@ -1187,7 +1191,7 @@ Layer_Shape::get_param_vocab()const .set_description(_("Layer_Shape Color")) ); ret.push_back(ParamDesc("offset") - .set_local_name(_("Position")) + .set_local_name(_("Offset")) ); ret.push_back(ParamDesc("invert") .set_local_name(_("Invert"))