/* === S Y N F I G ========================================================= */
/*! \file valuenode_scale.h
-** \brief Template Header
+** \brief Header file for implementation of the "Scale" valuenode conversion.
**
-** $Id: valuenode_scale.h,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
+** $Id$
**
** \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
ValueNode::RHandle value_node;
ValueNode::RHandle scalar;
- ValueNode_Scale();
+ ValueNode_Scale(const ValueBase &value);
public:
virtual ~ValueNode_Scale();
- //! \writeme
- bool set_value_node(const ValueNode::Handle &a);
-
- //! \writeme
- ValueNode::Handle get_value_node()const;
-
- void set_scalar(Real x);
-
- bool set_scalar(const ValueNode::Handle &x);
-
- ValueNode::Handle get_scalar()const;
-
-
-
-
virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
virtual int link_count()const;
virtual ValueBase operator()(Time t)const;
+ //! Returns the modified Link to match the target value at time t
+ ValueBase get_inverse(Time t, const synfig::Vector &target_value) const;
+ ValueBase get_inverse(Time t, const synfig::Angle &target_value) const;
+
+ bool is_invertible(Time t)const;
+
virtual String get_name()const;
virtual String get_local_name()const;