deargui-vpl/ref/virtools/Samples/Behaviors/SelectionSetManager/Set_Utils.h

37 lines
785 B
C

#ifndef _selectionset_utils_h_
#define _selectionset_utils_h_
////////////////////////////////////////////////////////////////////////////////
// declare flag macro
////////////////////////////////////////////////////////////////////////////////
#ifndef SET_DECLARE_FLAGS
#define SET_DECLARE_FLAGS(m_Flags) \
public: \
DWORD m_Flags; \
DWORD ModifyFlags(DWORD iAdded,DWORD iRemoved=0) \
{ \
m_Flags&=~iRemoved; \
m_Flags|=iAdded; \
return m_Flags; \
} \
DWORD HasFlags(DWORD iFlags) \
{ \
return m_Flags & iFlags; \
} \
DWORD HasFullFlags(DWORD iFlags) \
{ \
return (m_Flags & iFlags)==iFlags; \
} \
DWORD SetFlags(DWORD iFlags) \
{ \
m_Flags = iFlags; \
return m_Flags; \
} \
DWORD GetFlags() \
{ \
return m_Flags; \
} \
#endif
#endif