37 lines
785 B
C
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 |