synfig-studio  1.0.3
ducktransform_origin.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_STUDIO_DUCK_TRANSFORM_ORIGIN_H
26 #define __SYNFIG_STUDIO_DUCK_TRANSFORM_ORIGIN_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include "duckmatic.h"
31 #include "duck.h"
32 
33 /* === M A C R O S ========================================================= */
34 
35 /* === T Y P E D E F S ===================================================== */
36 
37 /* === C L A S S E S & S T R U C T S ======================================= */
38 
39 namespace studio {
40 
41 class Transform_Origin : public synfig::Transform
42 {
43 private:
44  etl::handle<Duck> origin;
45  std::vector<synfig::Vector> positions;
46 
47 public:
48  Transform_Origin(const synfig::GUID& guid, const etl::handle<Duck>& origin):Transform(guid), origin(origin) { }
49  synfig::Vector perform(const synfig::Vector& x)const { return x+origin->get_point(); }
50  synfig::Vector unperform(const synfig::Vector& x)const { return x-origin->get_point(); }
51 
52  synfig::String get_string()const
53  {
54  return "duck origin";
55  }
56 }; // END of class Transform_Origin
57 
58 }; // END of namespace studio
59 /* === E N D =============================================================== */
60 
61 #endif