X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Feditmode.h;fp=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Feditmode.h;h=66e6f33035869478d2218eedb48e3d5ed9e1d1f5;hb=02252941b29de64037116f4d37991a38d9ff0d94;hp=0000000000000000000000000000000000000000;hpb=34f6fabfcefdc878ba3c08b82358ae4aef439e99;p=synfig.git
diff --git a/synfig-studio/trunk/src/synfigapp/editmode.h b/synfig-studio/trunk/src/synfigapp/editmode.h
new file mode 100644
index 0000000..66e6f33
--- /dev/null
+++ b/synfig-studio/trunk/src/synfigapp/editmode.h
@@ -0,0 +1,83 @@
+/* === S Y N F I G ========================================================= */
+/*! \file editmode.h
+** \brief Template Header
+**
+** $Id: editmode.h,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+**
+** \legal
+** Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**
+** This software and associated documentation
+** are CONFIDENTIAL and PROPRIETARY property of
+** the above-mentioned copyright holder.
+**
+** You may not copy, print, publish, or in any
+** other way distribute this software without
+** a prior written agreement with
+** the copyright holder.
+** \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