valuenode_bline.h

Go to the documentation of this file.
00001 /* === S Y N F I G ========================================================= */
00021 /* ========================================================================= */
00022 
00023 /* === S T A R T =========================================================== */
00024 
00025 #ifndef __SYNFIG_VALUENODE_BLINE_H
00026 #define __SYNFIG_VALUENODE_BLINE_H
00027 
00028 /* === H E A D E R S ======================================================= */
00029 
00030 #include <vector>
00031 #include <list>
00032 
00033 #include "valuenode.h"
00034 #include "time.h"
00035 #include "uniqueid.h"
00036 #include "blinepoint.h"
00037 #include "valuenode_dynamiclist.h"
00038 
00039 /* === M A C R O S ========================================================= */
00040 
00041 /* === C L A S S E S & S T R U C T S ======================================= */
00042 
00043 namespace synfig {
00044 
00045 
00047 ValueBase convert_bline_to_segment_list(const ValueBase &bline);
00048 
00050 ValueBase convert_bline_to_width_list(const ValueBase &bline);
00051     
00055 class ValueNode_BLine : public ValueNode_DynamicList
00056 {
00057 public:
00058 
00059     typedef etl::handle<ValueNode_BLine> Handle;
00060     typedef etl::handle<const ValueNode_BLine> ConstHandle;
00061     
00062 
00063     ValueNode_BLine();
00064 
00065 public:
00066     
00067 
00068     
00069     virtual ValueBase operator()(Time t)const;
00070 
00071     virtual ~ValueNode_BLine();
00072 
00073     virtual String link_local_name(int i)const;
00074 
00075     virtual String get_name()const;
00076     virtual String get_local_name()const;
00077 
00078     virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
00079     
00080     virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5);
00081 
00082 protected:
00083     
00084     LinkableValueNode* create_new()const;
00085 
00086 public:
00087     //using synfig::LinkableValueNode::set_link_vfunc;
00088     static bool check_type(ValueBase::Type type);
00089     static ValueNode_BLine* create(const ValueBase &x=ValueBase::TYPE_LIST);
00090 }; // END of class ValueNode_BLine
00091 
00092 typedef ValueNode_BLine::ListEntry::ActivepointList ActivepointList;
00093 
00094 }; // END of namespace synfig
00095 
00096 /* === E N D =============================================================== */
00097 
00098 #endif

Generated on Fri Jun 23 15:20:50 2006 for synfig by  doxygen 1.4.6