Layer_Composite::set_param(const String & param, const ValueBase &value)
{
if(param=="amount" && value.same_type_as(amount_))
+ {
amount_=value.get(amount_);
+ amount_static=value.get_static();
+ }
else
if(param=="blend_method" && value.same_type_as(int()))
{
blend_method_ = static_cast<Color::BlendMethod>(value.get(int()));
+ blend_method_static=value.get_static();
if (blend_method_ < 0 || blend_method_ >= Color::BLEND_END)
{
ValueBase
Layer_Composite::get_param(const String & param)const
{
+
//! First check if the parameter's string is known.
if(param=="amount")
- return get_amount();
+ {
+ synfig::ValueBase ret(get_amount());
+ ret.set_static(amount_static);
+ return ret;
+ }
if(param=="blend_method")
- return static_cast<int>(get_blend_method());
+ {
+ synfig::ValueBase ret(static_cast<int>(get_blend_method()));
+ ret.set_static(blend_method_static);
+ return ret;
+ }
//! If it is unknown then call the ancestor's get param member
//! to see if it can handle that parameter's string.
return Layer::get_param(param);
}
+
+bool
+Layer_Composite::set_param_static(const String ¶m, const bool x)
+{
+
+ SET_STATIC(amount, x)
+ SET_STATIC(blend_method, x)
+
+ return Layer::set_param_static(param, x);
+}
+
+
+bool
+Layer_Composite::get_param_static(const String ¶m) const
+{
+
+ GET_STATIC(amount);
+ GET_STATIC(blend_method);
+
+ return Layer::get_param_static(param);
+}