**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
grid_snap(false),
guide_snap(false),
grid_size(1.0/4.0,1.0/4.0),
- show_persistant_strokes(true)
+ show_persistent_strokes(true)
{
axis_lock=false;
drag_offset_=Point(0,0);
bezier_list_.clear();
stroke_list_.clear();
- if(show_persistant_strokes)
- stroke_list_=persistant_stroke_list_;
+ if(show_persistent_strokes)
+ stroke_list_=persistent_stroke_list_;
}
//! Returns \a true if the given duck is currently selected
layer_name=="curve_gradient"
)
return false;
- if(
- (layer_name=="PasteCanvas"||
- layer_name=="paste_canvas")
- && !layer->get_param("children_lock").get(bool())
- )
+ if((layer_name=="PasteCanvas"|| layer_name=="paste_canvas") &&
+ !layer->get_param("children_lock").get(bool()))
return false;
}
return true;
}
void
+Duckmatic::toggle_select_ducks_in_box(const synfig::Vector& tl,const synfig::Vector& br)
+{
+ Vector vmin, vmax;
+ vmin[0]=std::min(tl[0],br[0]);
+ vmin[1]=std::min(tl[1],br[1]);
+ vmax[0]=std::max(tl[0],br[0]);
+ vmax[1]=std::max(tl[1],br[1]);
+
+ DuckMap::const_iterator iter;
+ for(iter=duck_map.begin();iter!=duck_map.end();++iter)
+ {
+ Point p(iter->second->get_trans_point());
+ if(p[0]<=vmax[0] && p[0]>=vmin[0] && p[1]<=vmax[1] && p[1]>=vmin[1] &&
+ is_duck_group_selectable(iter->second))
+ toggle_select_duck(iter->second);
+ }
+}
+
+void
Duckmatic::select_ducks_in_box(const synfig::Vector& tl,const synfig::Vector& br)
{
Vector vmin, vmax;
}
void
-Duckmatic::add_persistant_stroke(etl::smart_ptr<std::list<synfig::Point> > stroke_point_list, const synfig::Color& color)
+Duckmatic::add_persistent_stroke(etl::smart_ptr<std::list<synfig::Point> > stroke_point_list, const synfig::Color& color)
{
add_stroke(stroke_point_list,color);
- persistant_stroke_list_.push_back(stroke_list_.back());
+ persistent_stroke_list_.push_back(stroke_list_.back());
}
void
-Duckmatic::clear_persistant_strokes()
+Duckmatic::clear_persistent_strokes()
{
- persistant_stroke_list_.clear();
+ persistent_stroke_list_.clear();
}
void
-Duckmatic::set_show_persistant_strokes(bool x)
+Duckmatic::set_show_persistent_strokes(bool x)
{
- if(x!=show_persistant_strokes)
+ if(x!=show_persistent_strokes)
{
- show_persistant_strokes=x;
+ show_persistent_strokes=x;
if(x)
- stroke_list_=persistant_stroke_list_;
+ stroke_list_=persistent_stroke_list_;
else
stroke_list_.clear();
}
std::list<etl::handle<Stroke> >::const_iterator iter;
- for(iter=persistant_stroke_list_.begin();iter!=persistant_stroke_list_.end();++iter)
+ for(iter=persistent_stroke_list_.begin();iter!=persistent_stroke_list_.end();++iter)
{
file<<"C "
<<(*iter)->color.get_r()<<' '
synfig::warning("Bad color line \"%s\"",line.c_str());
r=0;g=0;b=0;
}
- add_persistant_stroke(stroke_data, synfig::Color(r,g,b));
+ add_persistent_stroke(stroke_data, synfig::Color(r,g,b));
}
break;
case 'V':
if(!stroke_data)
{
stroke_data.spawn();
- add_persistant_stroke(stroke_data, synfig::Color(0,0,0));
+ add_persistent_stroke(stroke_data, synfig::Color(0,0,0));
}
float x,y;
if(!strscanf(line,"V %f %f",&x, &y))
duck->set_origin(last_duck());
/*
ValueBase value(synfigapp::ValueDesc(value_desc.get_layer(),param_desc->get_origin()).get_value(get_time()));
- if(value.same_as(synfig::Point()))
+ if(value.same_type_as(synfig::Point()))
duck->set_origin(value.get(synfig::Point()));
*/
}
duck->set_origin(last_duck());
/*
ValueBase value(synfigapp::ValueDesc(value_desc.get_layer(),param_desc->get_origin()).get_value(get_time()));
- if(value.same_as(synfig::Point()))
+ if(value.same_type_as(synfig::Point()))
duck->set_origin(value.get(synfig::Point()));
*/
}
width->set_name(guid_string(synfigapp::ValueDesc(value_node,i))+".w");
{
ValueBase value(synfigapp::ValueDesc(value_desc.get_layer(),param_desc->get_hint()).get_value(get_time()));
- if(value.same_as(synfig::Real()))
+ if(value.same_type_as(synfig::Real()))
width->set_scalar(value.get(synfig::Real())*0.5f);
}
}
duck->set_origin(last_duck());
/*
ValueBase value(synfigapp::ValueDesc(value_desc.get_layer(),param_desc->get_origin()).get_value(get_time()));
- if(value.same_as(synfig::Point()))
+ if(value.same_type_as(synfig::Point()))
duck->set_origin(value.get(synfig::Point()));
*/
// if(!param_desc->get_origin().empty())
duck->set_origin(last_duck());
/*
ValueBase value(synfigapp::ValueDesc(value_desc.get_layer(),param_desc->get_origin()).get_value(get_time()));
- if(value.same_as(synfig::Point()))
+ if(value.same_type_as(synfig::Point()))
duck->set_origin(value.get(synfig::Point()));
*/
// if(!param_desc->get_origin().empty())