Fix bugs in previous commit that caused FTBFS in synfig and ETL FTBFS with older...
[synfig.git] / synfig-core / tags / stable / src / synfig / valuenode_twotone.h
index a9df02e..fb5a58b 100644 (file)
@@ -1,11 +1,12 @@
 /* === S Y N F I G ========================================================= */
 /*!    \file valuenode_twotone.h
-**     \brief Template Header
+**     \brief Header file for implementation of the "Two-Tone" valuenode conversion.
 **
 **     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 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
 
 namespace synfig {
 
-struct ValueNode_TwoTone : public LinkableValueNode
+class ValueNode_TwoTone : public LinkableValueNode
 {
-       typedef etl::handle<ValueNode_TwoTone> Handle;
-       typedef etl::handle<const ValueNode_TwoTone> ConstHandle;
-
-protected:
-
-       ValueNode_TwoTone();
-
-private:
-
        ValueNode::RHandle ref_a;
        ValueNode::RHandle ref_b;
 
-public:
-
-       virtual ~ValueNode_TwoTone();
-
-//     static Handle create(ValueBase::Type id=ValueBase::TYPE_GRADIENT);
+       ValueNode_TwoTone(const ValueBase &value);
 
-       //! Sets the left-hand-side value_node
-       bool set_lhs(ValueNode::Handle a);
-
-       //! Gets the left-hand-side value_node
-       ValueNode::Handle get_lhs()const { return ref_a; }
-
-       //! Sets the right-hand-side value_node
-       bool set_rhs(ValueNode::Handle b);
-
-       //! Gets the right-hand-side value_node
-       ValueNode::Handle get_rhs()const { return ref_b; }
+public:
 
+       typedef etl::handle<ValueNode_TwoTone> Handle;
+       typedef etl::handle<const ValueNode_TwoTone> ConstHandle;
 
-       virtual bool set_link_vfunc(int i,ValueNode::Handle x);
+       virtual ~ValueNode_TwoTone();
 
        virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
 
@@ -83,16 +63,16 @@ public:
        virtual String get_name()const;
        virtual String get_local_name()const;
 
-//     static bool check_type(const ValueBase::Type &type);
-
+protected:
        LinkableValueNode* create_new()const;
+       virtual bool set_link_vfunc(int i,ValueNode::Handle x);
 
 public:
        using synfig::LinkableValueNode::get_link_vfunc;
 
        using synfig::LinkableValueNode::set_link_vfunc;
        static bool check_type(ValueBase::Type type);
-       static ValueNode_TwoTone* create(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+       static ValueNode_TwoTone* create(const ValueBase &x);
 }; // END of class ValueNode_TwoTone
 
 }; // END of namespace synfig