synfig-studio  1.0.3
layersetexcludefromrendering.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_LAYERSETEXCLUDEFROMRENDERING_H
26 #define __SYNFIG_APP_ACTION_LAYERSETEXCLUDEFROMRENDERING_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <synfig/layer.h>
31 #include <synfigapp/action.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 synfigapp {
40 
41 class Instance;
42 
43 namespace Action {
44 
46  public Undoable,
47  public CanvasSpecific
48 {
49 private:
50 
52  bool new_state_set;
53  bool old_state;
54  bool new_state;
55 
56 public:
57 
59 
60  static ParamVocab get_param_vocab();
61  static bool is_candidate_for_exclude(const ParamList &x, bool new_state);
62  synfig::String get_local_name()const;
63 
64  virtual bool set_param(const synfig::String& name, const Param &);
65  virtual bool is_ready()const;
66 
67  virtual void perform();
68  virtual void undo();
69 };
70 
71 #define ACTION_LAYERSETEXCLUDEFROMRENDERING_DECLARE(class_name) \
72  class class_name : public LayerSetExcludeFromRendering { \
73  public: \
74  static bool is_candidate(const ParamList &x); \
75  ACTION_MODULE_EXT \
76  }
77 
78 ACTION_LAYERSETEXCLUDEFROMRENDERING_DECLARE(LayerSetExcludeFromRenderingOn);
79 ACTION_LAYERSETEXCLUDEFROMRENDERING_DECLARE(LayerSetExcludeFromRenderingOff);
80 
81 #undef ACTION_LAYERSETEXCLUDEFROMRENDERING_DECLARE
82 
83 }; // END of namespace action
84 }; // END of namespace studio
85 
86 /* === E N D =============================================================== */
87 
88 #endif