1 // Copyright 2013 Intel Corporation. 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 OZONE_UI_EVENTS_EVENT_CONVERTER_IN_PROCESS_H_
6 #define OZONE_UI_EVENTS_EVENT_CONVERTER_IN_PROCESS_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "ozone/ui/events/event_converter_ozone_wayland.h"
12 #include "ozone/ui/events/keyboard_code_conversion_ozone.h"
13 #include "ui/events/event.h"
14 #include "ui/events/platform/platform_event_source.h"
18 class EventConverterInProcess : public ui::EventConverterOzoneWayland,
19 public ui::PlatformEventSource {
21 EventConverterInProcess();
22 virtual ~EventConverterInProcess();
24 virtual void MotionNotify(float x, float y) OVERRIDE;
25 virtual void ButtonNotify(unsigned handle,
30 virtual void AxisNotify(float x,
33 int yoffset) OVERRIDE;
34 virtual void PointerEnter(unsigned handle, float x, float y) OVERRIDE;
35 virtual void PointerLeave(unsigned handle, float x, float y) OVERRIDE;
36 virtual void KeyNotify(ui::EventType type,
38 unsigned modifiers) OVERRIDE;
39 virtual void TouchNotify(ui::EventType type,
43 uint32_t time_stamp) OVERRIDE;
44 virtual void CloseWidget(unsigned handle) OVERRIDE;
46 virtual void OutputSizeChanged(unsigned width, unsigned height) OVERRIDE;
47 virtual void WindowResized(unsigned windowhandle,
49 unsigned height) OVERRIDE;
51 virtual void Commit(unsigned handle, const std::string& text) OVERRIDE;
52 virtual void PreeditChanged(unsigned handle, const std::string& text,
53 const std::string& commit) OVERRIDE;
54 virtual void PreeditEnd() OVERRIDE;
55 virtual void PreeditStart() OVERRIDE;
57 virtual void SetWindowChangeObserver(
58 ui::WindowChangeObserver* observer) OVERRIDE;
59 virtual void SetOutputChangeObserver(
60 ui::OutputChangeObserver* observer) OVERRIDE;
63 // PlatformEventSource:
64 virtual void OnDispatcherListChanged() OVERRIDE;
65 static void NotifyMotion(EventConverterInProcess* data,
68 static void NotifyButtonPress(EventConverterInProcess* data,
74 static void NotifyAxis(EventConverterInProcess* data,
79 static void NotifyPointerEnter(EventConverterInProcess* data,
83 static void NotifyPointerLeave(EventConverterInProcess* data,
87 static void NotifyKeyEvent(EventConverterInProcess* data,
89 ui::KeyboardCode code,
90 uint16 CharacterCodeFromNativeKey,
92 static void NotifyTouchEvent(EventConverterInProcess* data,
98 static void NotifyCloseWidget(EventConverterInProcess* data,
100 static void NotifyOutputSizeChanged(EventConverterInProcess* data,
103 static void NotifyWindowResized(EventConverterInProcess* data,
107 static void NotifyCommit(EventConverterInProcess* data, unsigned handle,
108 const std::string& text);
109 static void NotifyPreeditChanged(EventConverterInProcess* data,
111 const std::string& text,
112 const std::string& commit);
113 static void NotifyPreeditEnd(EventConverterInProcess* data);
114 static void NotifyPreeditStart(EventConverterInProcess* data);
116 ui::WindowChangeObserver* observer_;
117 ui::OutputChangeObserver* output_observer_;
118 base::Callback<void(void*)> dispatch_callback_; // NOLINT(readability/
120 DISALLOW_COPY_AND_ASSIGN(EventConverterInProcess);
125 #endif // OZONE_UI_EVENTS_EVENT_CONVERTER_IN_PROCESS_H_