ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey
Change-Id: Idb5dfe57a7f6e3d6078ab1e68d542b084114cfbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225735
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/tools/ModifierKey.h b/tools/ModifierKey.h
new file mode 100644
index 0000000..5f4d25d
--- /dev/null
+++ b/tools/ModifierKey.h
@@ -0,0 +1,25 @@
+// Copyright 2019 Google LLC.
+// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
+#ifndef ModifierKey_DEFINED
+#define ModifierKey_DEFINED
+
+#include "include/private/SkBitmaskEnum.h"
+
+enum class ModifierKey {
+ kNone = 0,
+ kShift = 1 << 0,
+ kControl = 1 << 1,
+ kOption = 1 << 2, // same as ALT
+ kCommand = 1 << 3,
+ kFirstPress = 1 << 4,
+};
+
+namespace skstd {
+template <> struct is_bitmask_enum<ModifierKey> : std::true_type {};
+}
+
+static inline bool ModifierKeyIsSet(ModifierKey m) {
+ return m != ModifierKey::kNone;
+}
+
+#endif // ModifierKey_DEFINED