Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: sky/engine/core/events/KeyboardEvent.h

Issue 872233002: Switch KeyboardEvents over to NewEventHandler (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rename virtualKeyCode to key Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/engine/core/events/GestureEvent.cpp ('k') | sky/engine/core/events/KeyboardEvent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) 2 // Use of this source code is governed by a BSD-style license that can be
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) 3 // found in the LICENSE file.
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 *
22 */
23 4
24 #ifndef SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_ 5 #ifndef SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_
25 #define SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_ 6 #define SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_
26 7
27 #include "sky/engine/core/events/EventDispatchMediator.h" 8 #include "sky/engine/core/events/Event.h"
28 #include "sky/engine/core/events/UIEventWithKeyState.h" 9 #include "sky/engine/public/platform/WebInputEvent.h"
29 10
30 namespace blink { 11 namespace blink {
31 12
32 class EventDispatcher; 13 struct KeyboardEventInit : public EventInit {
33 class Node; 14 unsigned key = 0;
34 class PlatformKeyboardEvent; 15 String location;
35 16 unsigned charCode = 0;
36 struct KeyboardEventInit : public UIEventInit { 17 bool ctrlKey = false;
37 KeyboardEventInit(); 18 bool shiftKey = false;
38 19 bool altKey = false;
39 String keyIdentifier; 20 bool metaKey = false;
40 unsigned location; 21 bool repeat = false;
41 bool ctrlKey;
42 bool altKey;
43 bool shiftKey;
44 bool metaKey;
45 bool repeat;
46 }; 22 };
47 23
48 class KeyboardEvent final : public UIEventWithKeyState { 24 class KeyboardEvent : public Event {
49 DEFINE_WRAPPERTYPEINFO(); 25 DEFINE_WRAPPERTYPEINFO();
50 public: 26 public:
51 enum KeyLocationCode {
52 DOM_KEY_LOCATION_STANDARD = 0x00,
53 DOM_KEY_LOCATION_LEFT = 0x01,
54 DOM_KEY_LOCATION_RIGHT = 0x02,
55 DOM_KEY_LOCATION_NUMPAD = 0x03
56 };
57
58 static PassRefPtr<KeyboardEvent> create() 27 static PassRefPtr<KeyboardEvent> create()
59 { 28 {
60 return adoptRef(new KeyboardEvent); 29 return adoptRef(new KeyboardEvent);
61 } 30 }
62 31 static PassRefPtr<KeyboardEvent> create(const WebKeyboardEvent& event)
63 static PassRefPtr<KeyboardEvent> create(const PlatformKeyboardEvent& platfor mEvent, AbstractView* view)
64 { 32 {
65 return adoptRef(new KeyboardEvent(platformEvent, view)); 33 return adoptRef(new KeyboardEvent(event));
66 } 34 }
67
68 static PassRefPtr<KeyboardEvent> create(const AtomicString& type, const Keyb oardEventInit& initializer) 35 static PassRefPtr<KeyboardEvent> create(const AtomicString& type, const Keyb oardEventInit& initializer)
69 { 36 {
70 return adoptRef(new KeyboardEvent(type, initializer)); 37 return adoptRef(new KeyboardEvent(type, initializer));
71 } 38 }
72 39
73 static PassRefPtr<KeyboardEvent> create(const AtomicString& type, bool canBu bble, bool cancelable, AbstractView* view, 40 ~KeyboardEvent() override;
74 const String& keyIdentifier, unsigned location, 41 const AtomicString& interfaceName() const override;
75 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey)
76 {
77 return adoptRef(new KeyboardEvent(type, canBubble, cancelable, view, key Identifier, location,
78 ctrlKey, altKey, shiftKey, metaKey));
79 }
80 42
81 virtual ~KeyboardEvent(); 43 bool isKeyboardEvent() const override;
82 44
83 void initKeyboardEvent(const AtomicString& type, bool canBubble, bool cancel able, AbstractView*, 45 unsigned key() const { return m_key; }
84 const String& keyIdentifier, unsigned location, 46 const String& location() const { return m_location; }
85 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey); 47 unsigned charCode() const { return m_charCode; }
86 48 bool ctrlKey() const { return m_ctrlKey; }
87 const String& keyIdentifier() const { return m_keyIdentifier; } 49 bool shiftKey() const { return m_shiftKey; }
88 unsigned location() const { return m_location; } 50 bool altKey() const { return m_altKey; }
89 51 bool metaKey() const { return m_metaKey; }
90 bool getModifierState(const String& keyIdentifier) const; 52 bool repeat() const { return m_repeat; }
91
92 const PlatformKeyboardEvent* keyEvent() const { return m_keyEvent.get(); }
93
94 virtual int keyCode() const override; // key code for keydown and keyup, cha racter for keypress
95 virtual int charCode() const override; // character code for keypress, 0 for keydown and keyup
96 bool repeat() const { return m_isAutoRepeat; }
97
98 virtual const AtomicString& interfaceName() const override;
99 virtual bool isKeyboardEvent() const override;
100 virtual int which() const override;
101 53
102 private: 54 private:
103 KeyboardEvent(); 55 KeyboardEvent();
104 KeyboardEvent(const PlatformKeyboardEvent&, AbstractView*); 56 explicit KeyboardEvent(const WebKeyboardEvent& event);
105 KeyboardEvent(const AtomicString&, const KeyboardEventInit&); 57 KeyboardEvent(const AtomicString&, const KeyboardEventInit&);
106 KeyboardEvent(const AtomicString& type, bool canBubble, bool cancelable, Abs tractView*,
107 const String& keyIdentifier, unsigned location,
108 bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
109 58
110 OwnPtr<PlatformKeyboardEvent> m_keyEvent; 59 unsigned m_key;
111 String m_keyIdentifier; 60 String m_location;
112 unsigned m_location; 61 unsigned m_charCode;
113 bool m_isAutoRepeat : 1; 62 bool m_ctrlKey;
114 }; 63 bool m_shiftKey;
115 64 bool m_altKey;
116 class KeyboardEventDispatchMediator : public EventDispatchMediator { 65 bool m_metaKey;
117 public: 66 bool m_repeat;
118 static PassRefPtr<KeyboardEventDispatchMediator> create(PassRefPtr<KeyboardE vent>);
119 private:
120 explicit KeyboardEventDispatchMediator(PassRefPtr<KeyboardEvent>);
121 virtual bool dispatchEvent(EventDispatcher*) const override;
122 }; 67 };
123 68
124 DEFINE_EVENT_TYPE_CASTS(KeyboardEvent); 69 DEFINE_EVENT_TYPE_CASTS(KeyboardEvent);
125 70
126 } // namespace blink 71 } // namespace blink
127 72
128 #endif // SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_ 73 #endif // SKY_ENGINE_CORE_EVENTS_KEYBOARDEVENT_H_
OLDNEW
« no previous file with comments | « sky/engine/core/events/GestureEvent.cpp ('k') | sky/engine/core/events/KeyboardEvent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698