source: synfigstudio/trunk/fuentes/src/synfigapp/actions/layermakebline.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.4 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file layermakebline.h
3**      \brief Template File
4**
5**      $Id$
6**
7**      \legal
8**      ......... ... 2013 Ivan Mahonin
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_LAYERMAKEBLINE_H
26#define __SYNFIG_APP_ACTION_LAYERMAKEBLINE_H
27
28/* === H E A D E R S ======================================================= */
29
30#include <synfig/layer.h>
31#include <synfigapp/action.h>
32#include <list>
33#include <synfig/guid.h>
34
35/* === M A C R O S ========================================================= */
36
37/* === T Y P E D E F S ===================================================== */
38
39/* === C L A S S E S & S T R U C T S ======================================= */
40
41namespace synfigapp {
42
43namespace Action {
44
45class LayerMakeBLine :
46        public Super
47{
48private:
49        synfig::Layer::Handle layer;
50
51public:
52        static ParamVocab get_param_vocab();
53        static bool is_candidate_for_make_bline(const ParamList &x, const char **possible_layer_names, size_t possible_layer_names_count);
54
55        virtual bool set_param(const synfig::String& name, const Param &);
56        virtual bool is_ready()const;
57
58        void prepare_make_bline(const synfig::String &bline_layer_name, bool put_new_layer_behind);
59};
60
61#define ACTION_LAYERMAKEBLINE_DECLARE(class_name) \
62        class class_name : public LayerMakeBLine { \
63        private: \
64                static const char *possible_layer_names__[]; \
65        public: \
66                static bool is_candidate(const ParamList &x); \
67                virtual void prepare(); \
68                ACTION_MODULE_EXT \
69        }
70
71ACTION_LAYERMAKEBLINE_DECLARE(LayerMakeOutline);
72ACTION_LAYERMAKEBLINE_DECLARE(LayerMakeAdvancedOutline);
73ACTION_LAYERMAKEBLINE_DECLARE(LayerMakeRegion);
74
75#undef ACTION_LAYERMAKEBLINE_DECLARE
76
77}; // END of namespace action
78}; // END of namespace studio
79
80/* === E N D =============================================================== */
81
82#endif
Note: See TracBrowser for help on using the repository browser.