synfig-core  1.0.3
valuenode_scale.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
23 /* ========================================================================= */
24 
25 /* === S T A R T =========================================================== */
26 
27 #ifndef __SYNFIG_VALUENODE_SCALE_H
28 #define __SYNFIG_VALUENODE_SCALE_H
29 
30 /* === H E A D E R S ======================================================= */
31 
32 #include <synfig/valuenode.h>
33 
34 /* === M A C R O S ========================================================= */
35 
36 /* === C L A S S E S & S T R U C T S ======================================= */
37 
38 namespace synfig {
39 
41 {
42  typedef etl::handle<ValueNode_Scale> Handle;
43  typedef etl::handle<const ValueNode_Scale> ConstHandle;
44 
45 private:
46  ValueNode::RHandle value_node;
47  ValueNode::RHandle scalar;
48 
49  ValueNode_Scale(const ValueBase &value);
50 
51 public:
52 
53  //static Handle create(Type &type=type_nil);
54 
55  //static Handle create(ValueNode::Handle value_node, Real scalar);
56 
57  virtual ~ValueNode_Scale();
58 
59  virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
60 
61  virtual ValueBase operator()(Time t)const;
62 
64  ValueBase get_inverse(Time t, const synfig::Vector &target_value) const;
65  ValueBase get_inverse(Time t, const synfig::Angle &target_value) const;
66  ValueBase get_inverse(Time t, const synfig::Real &target_value) const;
67 
68  bool is_invertible(Time t)const;
69 
70  virtual String get_name()const;
71 
72  virtual String get_local_name()const;
73 
74 protected:
75  virtual bool set_link_vfunc(int i,ValueNode::Handle x);
76 
77  virtual LinkableValueNode* create_new()const;
78 
79 public:
82  static bool check_type(Type &type);
83  static ValueNode_Scale* create(const ValueBase &x);
84  virtual Vocab get_children_vocab_vfunc()const;
85 }; // END of class ValueNode_Scale
86 
87 }; // END of namespace synfig
88 
89 /* === E N D =============================================================== */
90 
91 #endif