if(param=="z_depth" && value.same_type_as(z_depth_))
{
z_depth_=value.get(z_depth_);
- z_depth_static=value.get_static();
+ set_param_static(param, value.get_static());
return true;
}
return false;
bool
Layer::set_param_static(const String ¶m, const bool x)
{
- if(param=="z_depth" && z_depth_static!=x)
- {
- z_depth_static=x;
- return true;
- }
+ SET_STATIC(z_depth,x)
return false;
}
bool
Layer::get_param_static(const String ¶m) const
{
- if(param=="z_depth")
- return z_depth_static;
+ GET_STATIC(z_depth);
return false;
}
//! It prevents these layers showing up in the menu.
#define CATEGORY_DO_NOT_USE "Do Not Use"
+//! x=variable name, y=static bool value
+#define SET_STATIC(x,y) \
+ if(param==#x && x ## _static != y) \
+ { \
+ x ## _static = y; \
+ return true; \
+ }
+
+#define GET_STATIC(x) \
+ if(param==#x) \
+ return x ## _static; \
+
+
/* === T Y P E D E F S ===================================================== */
/* === C L A S S E S & S T R U C T S ======================================= */
bool
Layer_Composite::set_param_static(const String ¶m, const bool x)
{
- if(param=="amount" && amount_static!=x)
- {
- amount_static=x;
- return true;
- }
- if(param=="blend_method" && blend_method_static!=x)
- {
- blend_method_static=x;
- return true;
- }
+
+ SET_STATIC(amount, x)
+ SET_STATIC(blend_method, x)
return Layer::set_param_static(param, x);
}
Layer_Composite::get_param_static(const String ¶m) const
{
- if(param=="amount")
- return amount_static;
-
- if(param=="blend_method")
- return blend_method_static;
+ GET_STATIC(amount);
+ GET_STATIC(blend_method);
return Layer::get_param_static(param);
}