r5sdk/r5dev/thirdparty/cppnet/cppkore/DragDropEffects.h
2022-05-21 19:58:09 +02:00

26 lines
590 B
C++

#pragma once
#include <cstdint>
#include <type_traits>
namespace Forms
{
// Specifies the effects of a drag-and-drop operation.
enum class DragDropEffects
{
None = 0x0,
Copy = 0x1,
Move = 0x2,
Link = 0x4,
Scroll = (int)0x80000000,
All = Copy | Move | Scroll
};
//
// Allow bitwise operations on this enumeration
//
constexpr DragDropEffects operator|(DragDropEffects Lhs, DragDropEffects Rhs)
{
return static_cast<DragDropEffects>(static_cast<std::underlying_type<DragDropEffects>::type>(Lhs) | static_cast<std::underlying_type<DragDropEffects>::type>(Rhs));
};
}