made dependency analysis work without errors for magic-new (except for a few script functions); implemented the rest of the ScriptManager

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@71 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2006-11-01 16:41:50 +00:00
parent 2dd93a91fb
commit f18bdafab1
17 changed files with 280 additions and 45 deletions
+7 -5
View File
@@ -97,6 +97,9 @@ IMPLEMENT_REFLECTION(GradientSymbolFilter) {
// ----------------------------------------------------------------------------- : LinearGradientSymbolFilter
// TODO: move to some general util header
inline double sqr(double x) { return x * x; }
String LinearGradientSymbolFilter::fillType() const { return _("linear gradient"); }
LinearGradientSymbolFilter::LinearGradientSymbolFilter()
@@ -105,12 +108,14 @@ LinearGradientSymbolFilter::LinearGradientSymbolFilter()
{}
AColor LinearGradientSymbolFilter::color(double x, double y, SymbolSet point) const {
len = sqr(end_x - center_x) + sqr(end_y - center_y);
if (len == 0) len = 1; // prevent div by 0
return GradientSymbolFilter::color(x,y,point,this);
}
double LinearGradientSymbolFilter::t(double x, double y) const {
//return abs( int(x - center_x) * dirX + int(y - centerY) * dirY) * scale;
return 0; // todo
double t= abs( (x - center_x) * (end_x - center_x) + (y - center_y) * (end_y - center_y)) / len;
return min(1.,max(0.,t));
}
IMPLEMENT_REFLECTION(LinearGradientSymbolFilter) {
@@ -127,9 +132,6 @@ AColor RadialGradientSymbolFilter::color(double x, double y, SymbolSet point) co
return GradientSymbolFilter::color(x,y,point,this);
}
// TODO: move to some general util header
inline double sqr(double x) { return x * x; }
double RadialGradientSymbolFilter::t(double x, double y) const {
return sqrt( (sqr(x - 0.5) + sqr(y - 0.5)) * 2);
}
+1
View File
@@ -94,6 +94,7 @@ class LinearGradientSymbolFilter : public GradientSymbolFilter {
private:
double center_x, center_y;
double end_x, end_y;
mutable double len;
DECLARE_REFLECTION();
};