diff options
Diffstat (limited to 'libs/hwui/utils/Macros.h')
-rw-r--r-- | libs/hwui/utils/Macros.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/utils/Macros.h b/libs/hwui/utils/Macros.h index 2ed605e..9f7ac1c 100644 --- a/libs/hwui/utils/Macros.h +++ b/libs/hwui/utils/Macros.h @@ -36,9 +36,21 @@ #Type " must have standard layout") #define MAKE_FLAGS_ENUM(enumType) \ + inline int operator|=(int lhs, enumType rhs) { \ + return lhs | static_cast<int>(rhs); \ + } \ + inline int operator|(int lhs, enumType rhs) { \ + return lhs | static_cast<int>(rhs); \ + } \ + inline int operator|(enumType lhs, int rhs) { \ + return static_cast<int>(lhs) | rhs; \ + } \ inline int operator|(enumType lhs, enumType rhs) { \ return static_cast<int>(lhs) | static_cast<int>(rhs); \ } \ + inline int operator&=(int lhs, enumType rhs) { \ + return lhs & static_cast<int>(rhs); \ + } \ inline int operator&(int lhs, enumType rhs) { \ return lhs & static_cast<int>(rhs); \ } \ |