**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007, 2008 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
#include "layer_polygon.h"
#include "layer_pastecanvas.h"
#include "layer_motionblur.h"
+#include "layer_duplicate.h"
#include "valuenode_const.h"
{
_layer_book=new Book();
-#define INCLUDE_LAYER(class) synfig::Layer::book()[synfig::String(class::name__)]=BookEntry(class::create,class::name__,class::local_name__,class::category__,class::cvs_id__,class::version__)
-#define LAYER_ALIAS(class,alias) synfig::Layer::book()[synfig::String(alias)]=synfig::Layer::BookEntry(class::create,alias,alias,_("Do Not Use"),class::cvs_id__,class::version__);
+#define INCLUDE_LAYER(class) \
+ synfig::Layer::book() [synfig::String(class::name__)] = \
+ BookEntry(class::create, \
+ class::name__, \
+ dgettext("synfig", class::local_name__), \
+ class::category__, \
+ class::cvs_id__, \
+ class::version__)
+
+#define LAYER_ALIAS(class,alias) \
+ synfig::Layer::book()[synfig::String(alias)] = \
+ BookEntry(class::create, \
+ alias, \
+ alias, \
+ CATEGORY_DO_NOT_USE, \
+ class::cvs_id__, \
+ class::version__)
INCLUDE_LAYER(Layer_SolidColor); LAYER_ALIAS(Layer_SolidColor, "solid_color");
INCLUDE_LAYER(Layer_PasteCanvas); LAYER_ALIAS(Layer_PasteCanvas, "paste_canvas");
INCLUDE_LAYER(Layer_Polygon); LAYER_ALIAS(Layer_Polygon, "Polygon");
INCLUDE_LAYER(Layer_MotionBlur); LAYER_ALIAS(Layer_MotionBlur, "motion_blur");
+ INCLUDE_LAYER(Layer_Duplicate);
#undef INCLUDE_LAYER
Layer::on_changed()
{
dirty_time_=Time::end();
- if(active())
- Node::on_changed();
+ Node::on_changed();
}
bool
return (*dynamic_param_list().find("z_depth")->second)(t).get(Real());
}
+#ifdef THIS_CODE_IS_NOT_USED
Layer*
Layer::simple_clone()const
{
ret->set_param_list(get_param_list());
return ret;
}
+#endif /* THIS_CODE_IS_NOT_USED */
Layer::Handle
Layer::clone(const GUID& deriv_guid) const
ret->set_guid(get_guid()^deriv_guid);
//ret->set_param_list(get_param_list());
- // Process the parameter list sothat
- // we can duplicate any inlinecanvases
+ // Process the parameter list so that
+ // we can duplicate any inline canvases
ParamList param_list(get_param_list());
for(ParamList::const_iterator iter(param_list.begin()); iter != param_list.end(); ++iter)
{
if(dynamic_param_list().count(iter->first)==0 && iter->second.get_type()==ValueBase::TYPE_CANVAS)
{
-
// This parameter is a canvas. We need a close look.
Canvas::Handle canvas(iter->second.get(Canvas::Handle()));
if(canvas && canvas->is_inline())
{
- // This parameter is an inlinecanvas! we need to clone it
- // before we set it as aparameter.
+ // This parameter is an inline canvas! we need to clone it
+ // before we set it as a parameter.
Canvas::Handle new_canvas(canvas->clone(deriv_guid));
ValueBase value(new_canvas);
ret->set_param(iter->first, value);
DynamicParamList::const_iterator iter;
for(iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
{
- // Make sure we clone inlinecanvases
+ // Make sure we clone inline canvases
if(iter->second->get_type()==ValueBase::TYPE_CANVAS)
{
Canvas::Handle canvas((*iter->second)(0).get(Canvas::Handle()));
return ret;
}
+bool
+Layer::reads_context() const
+{
+ return false;
+}
+
Rect
Layer::get_full_bounding_rect(Context context)const
{
{
return group_;
}
+
+const String
+Layer::get_param_local_name(const String ¶m_name)const
+{
+ ParamVocab vocab = get_param_vocab();
+ // loop to find the parameter in the parameter vocab - this gives us its local name
+ for (ParamVocab::iterator iter = vocab.begin(); iter != vocab.end(); iter++)
+ if (iter->get_name() == param_name)
+ return iter->get_local_name();
+ return String();
+}