xref: /aosp_15_r20/external/skia/tools/skui/ModifierKey.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3*c8dee2aaSAndroid Build Coastguard Worker #ifndef skui_modifierkey_defined
4*c8dee2aaSAndroid Build Coastguard Worker #define skui_modifierkey_defined
5*c8dee2aaSAndroid Build Coastguard Worker 
6*c8dee2aaSAndroid Build Coastguard Worker #include "src/base/SkBitmaskEnum.h"
7*c8dee2aaSAndroid Build Coastguard Worker 
8*c8dee2aaSAndroid Build Coastguard Worker namespace skui {
9*c8dee2aaSAndroid Build Coastguard Worker enum class ModifierKey {
10*c8dee2aaSAndroid Build Coastguard Worker     kNone       = 0,
11*c8dee2aaSAndroid Build Coastguard Worker     kShift      = 1 << 0,
12*c8dee2aaSAndroid Build Coastguard Worker     kControl    = 1 << 1,
13*c8dee2aaSAndroid Build Coastguard Worker     kOption     = 1 << 2,   // same as ALT
14*c8dee2aaSAndroid Build Coastguard Worker     kCommand    = 1 << 3,
15*c8dee2aaSAndroid Build Coastguard Worker     kFirstPress = 1 << 4,
16*c8dee2aaSAndroid Build Coastguard Worker };
17*c8dee2aaSAndroid Build Coastguard Worker }  // namespace skui
18*c8dee2aaSAndroid Build Coastguard Worker 
19*c8dee2aaSAndroid Build Coastguard Worker namespace sknonstd {
20*c8dee2aaSAndroid Build Coastguard Worker template <> struct is_bitmask_enum<skui::ModifierKey> : std::true_type {};
21*c8dee2aaSAndroid Build Coastguard Worker }  // namespace sknonstd
22*c8dee2aaSAndroid Build Coastguard Worker #endif  // skui_modifierkey_defined
23