/* === S Y N F I G ========================================================= */
-/*! \file valuenode_subtract.cpp
-** \brief Template File
+/*! \file valuenode_stripes.cpp
+** \brief Implementation of the "Stripes" valuenode conversion.
**
-** $Id: valuenode_stripes.cpp,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
ValueNode_Stripes::create(const ValueBase& x)
{
ValueBase::Type id(x.get_type());
-
+
if(id!=ValueBase::TYPE_GRADIENT)
{
assert(0);
- throw runtime_error("synfig::ValueNode_Stripes:Bad type "+ValueBase::type_name(id));
- }
+ throw runtime_error("synfig::ValueNode_Stripes:Bad type "+ValueBase::type_name(id));
+ }
ValueNode_Stripes* value_node=new ValueNode_Stripes();
assert(value_node->get_type()==id);
-
+
return value_node;
}
synfig::ValueBase
synfig::ValueNode_Stripes::operator()(Time t)const
{
- const int total((*stripes_)(t).get(int()));
+ const int total((*stripes_)(t).get(int()));
int i;
Gradient ret;
const Color color1((*color1_)(t).get(Color()));
const Color color2((*color2_)(t).get(Color()));
const float width(max(0.0,min(1.0,(*width_)(t).get(Real()))));
-
+
const float stripe_width_a(width/total);
const float stripe_width_b((1.0-width)/total);
-
+
for(i=0;i<total;i++)
{
float pos(float(i)/total+stripe_width_b/2);
return _("Stripe Count");
case 3:
return _("Width");
+ default:
+ return String();
}
- return String();
-}
+}
String
ValueNode_Stripes::link_name(int i)const
return "stripes";
case 3:
return "width";
+ default:
+ return String();
}
- return String();
-}
+}
int
ValueNode_Stripes::get_link_index_from_name(const String &name)const