synfig-studio  1.0.3
layermakebline.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_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 
41 namespace synfigapp {
42 
43 namespace Action {
44 
46  public Super
47 {
48 private:
50 
51 public:
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 
71 ACTION_LAYERMAKEBLINE_DECLARE(LayerMakeOutline);
72 ACTION_LAYERMAKEBLINE_DECLARE(LayerMakeAdvancedOutline);
73 ACTION_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