diff --git a/ChangeLog.md b/ChangeLog.md index 186e1be04..c378f942c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -199,6 +199,7 @@ Nazara Engine: - Fixed out-of-bounds access in LuaInstance::LoadLibraries - Add Flags::Clear(Flags) helper method, to clear one or more flags. - Add Flags::Clear() helper method, to reset flags +- Add Flags::Set(Flags) helper method, to enable flags Nazara Development Kit: - Added ImageWidget (#139) diff --git a/include/Nazara/Core/Flags.hpp b/include/Nazara/Core/Flags.hpp index c2e2dc8db..3fa7d2741 100644 --- a/include/Nazara/Core/Flags.hpp +++ b/include/Nazara/Core/Flags.hpp @@ -51,6 +51,8 @@ namespace Nz void Clear(); void Clear(const Flags& flags); + void Set(const Flags& flags); + constexpr bool Test(const Flags& flags) const; explicit constexpr operator bool() const; diff --git a/include/Nazara/Core/Flags.inl b/include/Nazara/Core/Flags.inl index b3db17e47..856c14f63 100644 --- a/include/Nazara/Core/Flags.inl +++ b/include/Nazara/Core/Flags.inl @@ -63,6 +63,20 @@ namespace Nz m_value &= ~flags; } + /*! + * \brief Enable some flags + * + * \param flags Flags to be enabled + * + * \see Clear + * \see Test + */ + template + void Flags::Set(const Flags& flags) + { + m_value |= flags; + } + /*! * \brief Tests if all flags from a Flags object are enabled * \return True if all tested flags are enabled.