00001 /* === S Y N F I G ========================================================= */ 00021 /* ========================================================================= */ 00022 00023 /* === S T A R T =========================================================== */ 00024 00025 #ifndef __SYNFIG_VALUENODE_CONST_H 00026 #define __SYNFIG_VALUENODE_CONST_H 00027 00028 /* === H E A D E R S ======================================================= */ 00029 00030 #include "valuenode.h" 00031 00032 /* === M A C R O S ========================================================= */ 00033 00034 /* === C L A S S E S & S T R U C T S ======================================= */ 00035 00036 namespace synfig { 00037 00038 class ValueNode_Const : public ValueNode 00039 { 00040 public: 00041 typedef etl::handle<ValueNode_Const> Handle; 00042 typedef etl::handle<const ValueNode_Const> ConstHandle; 00043 00044 private: 00045 ValueBase value; 00046 00047 ValueNode_Const(); 00048 ValueNode_Const(const ValueBase &x); 00049 00050 public: 00051 00052 virtual ValueBase operator()(Time t)const; 00053 virtual ~ValueNode_Const(); 00054 00055 const ValueBase &get_value()const; 00056 ValueBase &get_value(); 00057 void set_value(const ValueBase &data); 00058 00059 00060 virtual String get_name()const; 00061 virtual String get_local_name()const; 00062 00063 virtual ValueNode* clone(const GUID& deriv_guid=GUID())const; 00064 00065 public: 00066 static ValueNode_Const* create(const ValueBase &x=ValueBase()); 00067 00068 protected: 00069 virtual void get_times_vfunc(Node::time_set &set) const; 00070 }; 00071 00072 }; // END of namespace synfig 00073 00074 /* === E N D =============================================================== */ 00075 00076 #endif