1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/aura/event.h"
#include "ui/aura/window.h"
namespace aura {
Event::Event(ui::EventType type, int flags)
: type_(type),
time_stamp_(base::Time::NowFromSystemTime()),
flags_(flags) {
Init();
}
Event::Event(const ui::NativeEvent& native_event, ui::EventType type, int flags)
: type_(type),
time_stamp_(base::Time::NowFromSystemTime()),
flags_(flags) {
InitWithNativeEvent(native_event);
}
Event::Event(const Event& copy)
: native_event_(copy.native_event_),
type_(copy.type_),
time_stamp_(copy.time_stamp_),
flags_(copy.flags_) {
}
void Event::Init() {
memset(&native_event_, 0, sizeof(native_event_));
}
void Event::InitWithNativeEvent(const ui::NativeEvent& native_event) {
native_event_ = native_event;
}
LocatedEvent::LocatedEvent(const ui::NativeEvent& native_event)
: Event(native_event,
ui::EventTypeFromNative(native_event),
ui::EventFlagsFromNative(native_event)),
location_(ui::EventLocationFromNative(native_event)) {
}
LocatedEvent::LocatedEvent(const LocatedEvent& model,
Window* source,
Window* target)
: Event(model),
location_(model.location_) {
if (target && target != source)
Window::ConvertPointToWindow(source, target, &location_);
}
LocatedEvent::LocatedEvent(ui::EventType type,
const gfx::Point& location,
int flags)
: Event(type, flags),
location_(location) {
}
MouseEvent::MouseEvent(const ui::NativeEvent& native_event)
: LocatedEvent(native_event) {
}
MouseEvent::MouseEvent(const MouseEvent& model, Window* source, Window* target)
: LocatedEvent(model, source, target) {
}
MouseEvent::MouseEvent(const MouseEvent& model,
Window* source,
Window* target,
ui::EventType type)
: LocatedEvent(model, source, target) {
set_type(type);
}
MouseEvent::MouseEvent(ui::EventType type,
const gfx::Point& location,
int flags)
: LocatedEvent(type, location, flags) {
}
KeyEvent::KeyEvent(const ui::NativeEvent& native_event)
: Event(native_event,
ui::EventTypeFromNative(native_event),
ui::EventFlagsFromNative(native_event)),
key_code_(ui::KeyboardCodeFromNative(native_event)) {
}
KeyEvent::KeyEvent(ui::EventType type,
ui::KeyboardCode key_code,
int flags)
: Event(type, flags),
key_code_(key_code) {
}
} // namespace aura
|