synfig-studio  1.0.3
editmode.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_EDITMODE_H
26 #define __SYNFIG_EDITMODE_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 /* === M A C R O S ========================================================= */
31 
32 /* === T Y P E D E F S ===================================================== */
33 
34 /* === C L A S S E S & S T R U C T S ======================================= */
35 
36 namespace synfigapp {
37 
42 {
44 
45  MODE_ANIMATE =(1<<0),
48  MODE_ANIMATE_ALL =(3<<1),
49 
51 }; // END of enum EditMode
52 
54 inline EditMode
55 operator|(const EditMode& lhs, const EditMode& rhs)
56 { return static_cast<EditMode>(int(lhs)|int(rhs)); }
57 
59 inline EditMode
60 operator-(const EditMode& lhs, const EditMode& rhs)
61 { return static_cast<EditMode>(int(lhs)&~int(rhs)); }
62 
63 inline EditMode&
64 operator|=(EditMode& lhs, const EditMode& rhs)
65 { *reinterpret_cast<int*>(&lhs)|=int(rhs); return lhs; }
66 
68 
70 inline EditMode
71 operator&(const EditMode& lhs, const EditMode& rhs)
72 { return static_cast<EditMode>(int(lhs)&int(rhs)); }
73 
75 
77 // inline bool
78 // operator<=(const EditMode& lhs, const EditMode& rhs)
79 // { return (lhs&rhs)==int(rhs); }
80 
81 }; // END if namespace synfigapp
82 /* === E N D =============================================================== */
83 
84 #endif