Get the parameters names from the layer parameter vocabulary.
Layer::Layer():
active_(true),
z_depth(0.0f),
Layer::Layer():
active_(true),
z_depth(0.0f),
- dirty_time_(Time::end()),
- z_depth_static(false)
+ dirty_time_(Time::end())//,
+ //z_depth_static(false)
{
_LayerCounter::counter++;
{
_LayerCounter::counter++;
+ Vocab vocab=get_param_vocab();
+ Vocab::const_iterator viter;
+ for(viter=vocab.begin();viter!=vocab.end();viter++)
+ {
+ static_params.insert(make_pair(viter->get_name(),false));
+ }
bool
Layer::set_param_static(const String ¶m, const bool x)
{
bool
Layer::set_param_static(const String ¶m, const bool x)
{
+ Sparams::iterator iter;
+
+ for(iter=static_params.begin();iter!=static_params.end();iter++)
+ {
+ if(iter->first == param)
+ {
+ iter->second = x;
+ return true;
+ }
+ }
+ //SET_STATIC(z_depth,x)
bool
Layer::get_param_static(const String ¶m) const
{
bool
Layer::get_param_static(const String ¶m) const
{
+
+ Sparams::const_iterator iter;
+
+ for(iter=static_params.begin();iter!=static_params.end();iter++)
+ {
+ if(iter->first == param)
+ {
+ return iter->second;
+ }
+ }
+ //GET_STATIC(z_depth);
if(param=="z_depth")
{
synfig::ValueBase ret(get_z_depth());
if(param=="z_depth")
{
synfig::ValueBase ret(get_z_depth());
- ret.set_static(z_depth_static);
+ ret.set_static(get_param_static(param));
return ret;
}
return ValueBase();
return ret;
}
return ValueBase();
float z_depth;
//! True if zdepth is not affected when in animation mode
float z_depth;
//! True if zdepth is not affected when in animation mode
+ //bool z_depth_static;
+ typedef std::map<String, bool> Sparams;
+ Sparams static_params;
//! \writeme
mutable Time dirty_time_;
//! \writeme
mutable Time dirty_time_;