1cb93a386Sopenharmony_ci// Copyright 2019 Google LLC.
2cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3cb93a386Sopenharmony_ci#ifndef skui_modifierkey_defined
4cb93a386Sopenharmony_ci#define skui_modifierkey_defined
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ci#include "include/private/SkBitmaskEnum.h"
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_cinamespace skui {
9cb93a386Sopenharmony_cienum class ModifierKey {
10cb93a386Sopenharmony_ci    kNone       = 0,
11cb93a386Sopenharmony_ci    kShift      = 1 << 0,
12cb93a386Sopenharmony_ci    kControl    = 1 << 1,
13cb93a386Sopenharmony_ci    kOption     = 1 << 2,   // same as ALT
14cb93a386Sopenharmony_ci    kCommand    = 1 << 3,
15cb93a386Sopenharmony_ci    kFirstPress = 1 << 4,
16cb93a386Sopenharmony_ci};
17cb93a386Sopenharmony_ci}  // namespace skui
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_cinamespace sknonstd {
20cb93a386Sopenharmony_citemplate <> struct is_bitmask_enum<skui::ModifierKey> : std::true_type {};
21cb93a386Sopenharmony_ci}  // namespace sknonstd
22cb93a386Sopenharmony_ci#endif  // skui_modifierkey_defined
23