X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=inline;f=synfig-studio%2Ftags%2F0.61.09%2Fsrc%2Fsynfigapp%2Feditmode.h;fp=synfig-studio%2Ftags%2F0.61.09%2Fsrc%2Fsynfigapp%2Feditmode.h;h=0dbfac11f8086f666eb275693b2f6f96bd39d3c5;hb=3f03fad7e1abddbf8b4777a4a926c8b94568b529;hp=0000000000000000000000000000000000000000;hpb=476a1938d4cf024722f26d03b3e7e5c4b8c1d01c;p=synfig.git
diff --git a/synfig-studio/tags/0.61.09/src/synfigapp/editmode.h b/synfig-studio/tags/0.61.09/src/synfigapp/editmode.h
new file mode 100644
index 0000000..0dbfac1
--- /dev/null
+++ b/synfig-studio/tags/0.61.09/src/synfigapp/editmode.h
@@ -0,0 +1,84 @@
+/* === S Y N F I G ========================================================= */
+/*! \file editmode.h
+** \brief Template Header
+**
+** $Id$
+**
+** \legal
+** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
+**
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+** \endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_EDITMODE_H
+#define __SYNFIG_EDITMODE_H
+
+/* === H E A D E R S ======================================================= */
+
+/* === M A C R O S ========================================================= */
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfigapp {
+
+/*! \enum EditMode
+** \brief \writeme
+*/
+enum EditMode
+{
+ MODE_NORMAL =0, //!< Normal editing mode. Place holder.
+
+ MODE_ANIMATE =(1<<0), //!< Animated editing mode.
+ MODE_ANIMATE_FUTURE =(1<<1), //!< Respect future keyframes
+ MODE_ANIMATE_PAST =(1<<2), //!< Respect past keyframes
+ MODE_ANIMATE_ALL =(3<<1), //!< Respect all keyframes
+
+ MODE_UNDEFINED =(~0) //!< Undefined Mode
+}; // END of enum EditMode
+
+//! Combine Flags
+inline EditMode
+operator|(const EditMode& lhs, const EditMode& rhs)
+{ return static_cast(int(lhs)|int(rhs)); }
+
+//! Exclude Flags
+inline EditMode
+operator-(const EditMode& lhs, const EditMode& rhs)
+{ return static_cast(int(lhs)&~int(rhs)); }
+
+inline EditMode&
+operator|=(EditMode& lhs, const EditMode& rhs)
+{ *reinterpret_cast(&lhs)|=int(rhs); return lhs; }
+
+//! Flag Comparison. THIS IS NOT LESS-THAN-OR-EQUAL-TO.
+/*! This function will return true of all of the flags
+** in the \a rhs are set in the \a lhs */
+inline EditMode
+operator&(const EditMode& lhs, const EditMode& rhs)
+{ return static_cast(int(lhs)&int(rhs)); }
+
+//! Flag Comparison. THIS IS NOT LESS-THAN-OR-EQUAL-TO.
+/*! This function will return true of all of the flags
+** in the \a rhs are set in the \a lhs */
+// inline bool
+// operator<=(const EditMode& lhs, const EditMode& rhs)
+// { return (lhs&rhs)==int(rhs); }
+
+}; // END if namespace synfigapp
+/* === E N D =============================================================== */
+
+#endif