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;
50 virtual void WindowUnminimized(unsigned windowhandle) OVERRIDE;
52 virtual void Commit(unsigned handle, const std::string& text) OVERRIDE;
53 virtual void PreeditChanged(unsigned handle, const std::string& text,
54 const std::string& commit) OVERRIDE;
55 virtual void PreeditEnd() OVERRIDE;
56 virtual void PreeditStart() OVERRIDE;
58 virtual void SetWindowChangeObserver(
59 ui::WindowChangeObserver* observer) OVERRIDE;
60 virtual void SetOutputChangeObserver(
61 ui::OutputChangeObserver* observer) OVERRIDE;
64 // PlatformEventSource:
65 virtual void OnDispatcherListChanged() OVERRIDE;
66 static void NotifyMotion(EventConverterInProcess* data,
69 static void NotifyButtonPress(EventConverterInProcess* data,
75 static void NotifyAxis(EventConverterInProcess* data,
80 static void NotifyPointerEnter(EventConverterInProcess* data,
84 static void NotifyPointerLeave(EventConverterInProcess* data,
88 static void NotifyKeyEvent(EventConverterInProcess* data,
90 ui::KeyboardCode code,
91 uint16 CharacterCodeFromNativeKey,
93 static void NotifyTouchEvent(EventConverterInProcess* data,
99 static void NotifyCloseWidget(EventConverterInProcess* data,
101 static void NotifyOutputSizeChanged(EventConverterInProcess* data,
104 static void NotifyWindowResized(EventConverterInProcess* data,
108 static void NotifyWindowUnminimized(EventConverterInProcess* data,
110 static void NotifyCommit(EventConverterInProcess* data, unsigned handle,
111 const std::string& text);
112 static void NotifyPreeditChanged(EventConverterInProcess* data,
114 const std::string& text,
115 const std::string& commit);
116 static void NotifyPreeditEnd(EventConverterInProcess* data);
117 static void NotifyPreeditStart(EventConverterInProcess* data);
119 ui::WindowChangeObserver* observer_;
120 ui::OutputChangeObserver* output_observer_;
121 base::Callback<void(void*)> dispatch_callback_; // NOLINT(readability/
123 DISALLOW_COPY_AND_ASSIGN(EventConverterInProcess);
128 #endif // OZONE_UI_EVENTS_EVENT_CONVERTER_IN_PROCESS_H_