inline MouseButton operator&(MouseButton a, MouseButton b) { return MouseButton(a.code() & b.code()); }
inline bool operator==(MouseButton a, MouseButton b) { return a.code() == b.code(); }
inline MouseButton operator&(MouseButton a, MouseButton b) { return MouseButton(a.code() & b.code()); }
inline bool operator==(MouseButton a, MouseButton b) { return a.code() == b.code(); }