synfig-core  1.0.3
activepoint.h
Go to the documentation of this file.
1 #include <cstdio>
2 /* === S Y N F I G ========================================================= */
23 /* ========================================================================= */
24 
25 /* === S T A R T =========================================================== */
26 
27 #ifndef __SYNFIG_ACTIVEPOINT_H
28 #define __SYNFIG_ACTIVEPOINT_H
29 
30 /* === H E A D E R S ======================================================= */
31 
32 #include "time.h"
33 #include "uniqueid.h"
34 #include <ETL/handle>
35 
36 /* === M A C R O S ========================================================= */
37 
38 /* === T Y P E D E F S ===================================================== */
39 
40 /* === C L A S S E S & S T R U C T S ======================================= */
41 
42 namespace synfig {
43 class GUID;
44 class ValueNode;
45 
46 struct Activepoint : public UniqueID
47 {
48 private:
49  etl::loose_handle<ValueNode> parent_;
50  int index;
51 
52 public:
55 
57  int priority;
58 
60  bool state;
61 
62  bool operator<(const Activepoint& rhs) { return time<rhs.time; }
63  bool operator<(const Time& rhs) { return time<rhs; }
64 
65  Activepoint(const Time &time, const bool &state, int p=0):
66  index(), time(time), priority(p),state(state) { }
68  Activepoint(): index(), time(0), priority(0), state() { }
69 
70  const Time& get_time()const { return time; }
71  void set_time(const Time& x) { time=x; }
72 
73  bool get_state()const { return state; }
74  void set_state(bool x) { state=x; }
75 
76  int get_priority()const { return priority; }
77  void set_priority(int x) { priority=x; }
78 
79  const etl::loose_handle<ValueNode> &get_parent_value_node()const { return parent_; }
80  void set_parent_value_node(const etl::loose_handle<ValueNode> &x) { parent_=x; }
81 
82  int get_parent_index()const { return index; }
83  void set_parent_index(int x) { index=x; }
84 
85  GUID get_guid()const;
86 }; // END of struct ValueNode_BLine::Activepoint
87 
88 }; // END of namespace synfig
89 
90 /* === E N D =============================================================== */
91 
92 #endif