base: Change DCHECK_IS_ON to a macro DCHECK_IS_ON().
[chromium-blink-merge.git] / ui / events / ozone / layout / layout_util.h
blob3523fc8dde9e7140b82c44967aa7b33a8b037e14
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_EVENTS_OZONE_LAYOUT_LAYOUT_UTIL_H_
6 #define UI_EVENTS_OZONE_LAYOUT_LAYOUT_UTIL_H_
8 // TODO(kpschoedel): consider moving this out of Ozone.
10 #include "base/strings/string16.h"
11 #include "ui/events/keycodes/keyboard_codes.h"
12 #include "ui/events/ozone/layout/events_ozone_layout_export.h"
14 namespace ui {
16 enum class DomCode;
17 enum class DomKey;
19 // Returns a Windows-based VKEY for a non-printable DOM Level 3 |key|.
20 // The returned VKEY is non-located (e.g. VKEY_SHIFT).
21 EVENTS_OZONE_LAYOUT_EXPORT KeyboardCode
22 NonPrintableDomKeyToKeyboardCode(DomKey dom_key);
24 // Returns the Windows-based VKEY value corresponding to a DOM Level 3 |code|.
25 // The returned VKEY is located (e.g. VKEY_LSHIFT).
26 EVENTS_OZONE_LAYOUT_EXPORT KeyboardCode DomCodeToKeyboardCode(DomCode dom_code);
28 // Returns the Windows-based VKEY value corresponding to a DOM Level 3 |code|.
29 // The returned VKEY is non-located (e.g. VKEY_SHIFT).
30 EVENTS_OZONE_LAYOUT_EXPORT KeyboardCode
31 DomCodeToNonLocatedKeyboardCode(DomCode dom_code);
33 // Determine the non-located VKEY corresponding to a located VKEY.
34 EVENTS_OZONE_LAYOUT_EXPORT KeyboardCode
35 NonLocatedKeyboardCode(KeyboardCode key_code);
37 // Determine the located VKEY corresponding to a non-located VKEY.
38 EVENTS_OZONE_LAYOUT_EXPORT KeyboardCode
39 LocatedKeyboardCode(KeyboardCode key_code, DomCode dom_code);
41 // Returns true control character corresponding to a physical key.
42 // In some contexts this is used instead of the key layout.
43 EVENTS_OZONE_LAYOUT_EXPORT bool LookupControlCharacter(DomCode dom_code,
44 int flags,
45 DomKey* dom_key,
46 base::char16* character,
47 KeyboardCode* key_code);
49 // Returns the ui::EventFlags value associated with a modifier key,
50 // or 0 (EF_NONE) if the key is not a modifier.
51 EVENTS_OZONE_LAYOUT_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
53 } // namespace ui
55 #endif // UI_EVENTS_OZONE_LAYOUT_LAYOUT_UTIL_H_