source: synfigstudio/trunk/fuentes/src/synfigapp/actions/activepointsetsmart.h @ 481

Last change on this file since 481 was 481, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 2.2 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file activepointsetsmart.h
3**      \brief Template File
4**
5**      $Id$
6**
7**      \legal
8**      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9**
10**      This package is free software; you can redistribute it and/or
11**      modify it under the terms of the GNU General Public License as
12**      published by the Free Software Foundation; either version 2 of
13**      the License, or (at your option) any later version.
14**
15**      This package is distributed in the hope that it will be useful,
16**      but WITHOUT ANY WARRANTY; without even the implied warranty of
17**      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18**      General Public License for more details.
19**      \endlegal
20*/
21/* ========================================================================= */
22
23/* === S T A R T =========================================================== */
24
25#ifndef __SYNFIG_APP_ACTION_ACTIVEPOINTSETSMART_H
26#define __SYNFIG_APP_ACTION_ACTIVEPOINTSETSMART_H
27
28/* === H E A D E R S ======================================================= */
29
30#include <synfigapp/action.h>
31#include <synfigapp/value_desc.h>
32#include <synfig/valuenodes/valuenode_dynamiclist.h>
33
34#include <list>
35#include <set>
36
37/* === M A C R O S ========================================================= */
38
39/* === T Y P E D E F S ===================================================== */
40
41/* === C L A S S E S & S T R U C T S ======================================= */
42
43namespace synfigapp {
44
45namespace Action {
46
47class ActivepointSetSmart :
48        public Super
49{
50private:
51
52        ValueDesc value_desc;
53        synfig::ValueNode_DynamicList::Handle value_node;
54        int index;
55        synfig::Activepoint activepoint;
56        bool time_set;
57
58        void calc_activepoint();
59        void enclose_activepoint(const synfig::Activepoint& activepoint);
60
61        std::set<synfig::Time> times;
62
63public:
64
65        ActivepointSetSmart();
66
67        static ParamVocab get_param_vocab();
68        static bool is_candidate(const ParamList &x);
69
70        virtual bool set_param(const synfig::String& name, const Param &);
71        virtual bool is_ready()const;
72
73        virtual void prepare();
74
75        ACTION_MODULE_EXT
76};
77
78}; // END of namespace action
79}; // END of namespace studio
80
81/* === E N D =============================================================== */
82
83#endif
Note: See TracBrowser for help on using the repository browser.