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

Side by Side Diff: ui/aura/desktop_host_win.h

Issue 8576005: IME (input method editor) support for Aura, part 3 of 3: Use ui::InputMethod in ash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_AURA_DESKTOP_HOST_WIN_H_ 5 #ifndef UI_AURA_DESKTOP_HOST_WIN_H_
6 #define UI_AURA_DESKTOP_HOST_WIN_H_ 6 #define UI_AURA_DESKTOP_HOST_WIN_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "ui/aura/desktop_host.h" 10 #include "ui/aura/desktop_host.h"
11 #include "ui/base/ime/input_method_delegate.h"
12 #include "ui/base/ime/mock_input_method.h"
11 #include "ui/base/win/window_impl.h" 13 #include "ui/base/win/window_impl.h"
12 14
13 namespace aura { 15 namespace aura {
14 16
15 class DesktopHostWin : public DesktopHost, public ui::WindowImpl { 17 class DesktopHostWin : public DesktopHost,
18 public ui::internal::InputMethodDelegate,
19 public ui::WindowImpl {
16 public: 20 public:
17 explicit DesktopHostWin(const gfx::Rect& bounds); 21 explicit DesktopHostWin(const gfx::Rect& bounds);
18 virtual ~DesktopHostWin(); 22 virtual ~DesktopHostWin();
19 23
20 // MessageLoop::Dispatcher: 24 // MessageLoop::Dispatcher:
21 virtual bool Dispatch(const MSG& msg); 25 virtual bool Dispatch(const MSG& msg);
22 26
23 // DesktopHost: 27 // DesktopHost:
24 virtual void SetDesktop(Desktop* desktop) OVERRIDE; 28 virtual void SetDesktop(Desktop* desktop) OVERRIDE;
25 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE; 29 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
26 virtual void Show() OVERRIDE; 30 virtual void Show() OVERRIDE;
27 virtual void ToggleFullScreen() OVERRIDE; 31 virtual void ToggleFullScreen() OVERRIDE;
28 virtual gfx::Size GetSize() const OVERRIDE; 32 virtual gfx::Size GetSize() const OVERRIDE;
29 virtual void SetSize(const gfx::Size& size) OVERRIDE; 33 virtual void SetSize(const gfx::Size& size) OVERRIDE;
30 virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE; 34 virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE;
31 virtual gfx::Point QueryMouseLocation() OVERRIDE; 35 virtual gfx::Point QueryMouseLocation() OVERRIDE;
32 virtual void PostNativeEvent(const base::NativeEvent& native_event) OVERRIDE; 36 virtual void PostNativeEvent(const base::NativeEvent& native_event) OVERRIDE;
37 virtual ui::InputMethod* GetInputMethod() OVERRIDE;
38
39 // ui::internal::InputMethodDelegate Override.
40 virtual void DispatchKeyEventPostIME(const base::NativeEvent& event) OVERRIDE;
41 virtual void DispatchFabricatedKeyEventPostIME(
42 ui::EventType type, ui::KeyboardCode key_code, int flags) OVERRIDE;
33 43
34 private: 44 private:
35 BEGIN_MSG_MAP_EX(DesktopHostWin) 45 BEGIN_MSG_MAP_EX(DesktopHostWin)
36 // Range handlers must go first! 46 // Range handlers must go first!
37 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) 47 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange)
38 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) 48 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange)
39 49
40 // Key events. 50 // Key events.
41 MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyEvent) 51 MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyEvent)
42 MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyEvent) 52 MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyEvent)
43 MESSAGE_HANDLER_EX(WM_SYSKEYDOWN, OnKeyEvent) 53 MESSAGE_HANDLER_EX(WM_SYSKEYDOWN, OnKeyEvent)
44 MESSAGE_HANDLER_EX(WM_SYSKEYUP, OnKeyEvent) 54 MESSAGE_HANDLER_EX(WM_SYSKEYUP, OnKeyEvent)
45 MESSAGE_HANDLER_EX(WM_CHAR, OnKeyEvent) 55 MESSAGE_HANDLER_EX(WM_CHAR, OnKeyEvent)
46 MESSAGE_HANDLER_EX(WM_SYSCHAR, OnKeyEvent) 56 MESSAGE_HANDLER_EX(WM_SYSCHAR, OnKeyEvent)
47 MESSAGE_HANDLER_EX(WM_IME_CHAR, OnKeyEvent) 57 MESSAGE_HANDLER_EX(WM_IME_CHAR, OnKeyEvent)
48 58
49 MSG_WM_CLOSE(OnClose) 59 MSG_WM_CLOSE(OnClose)
50 MSG_WM_PAINT(OnPaint) 60 MSG_WM_PAINT(OnPaint)
51 MSG_WM_SIZE(OnSize) 61 MSG_WM_SIZE(OnSize)
52 END_MSG_MAP() 62 END_MSG_MAP()
53 63
54 void OnClose(); 64 void OnClose();
55 LRESULT OnKeyEvent(UINT message, WPARAM w_param, LPARAM l_param); 65 LRESULT OnKeyEvent(UINT message, WPARAM w_param, LPARAM l_param);
56 LRESULT OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param); 66 LRESULT OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param);
57 void OnPaint(HDC dc); 67 void OnPaint(HDC dc);
58 void OnSize(UINT param, const CSize& size); 68 void OnSize(UINT param, const CSize& size);
59 69
60 Desktop* desktop_; 70 Desktop* desktop_;
61 71
72 // TODO(yusukes): implement ui::InputMethodWin.
73 ui::MockInputMethod input_method_;
74
62 bool fullscreen_; 75 bool fullscreen_;
63 RECT saved_window_rect_; 76 RECT saved_window_rect_;
64 DWORD saved_window_style_; 77 DWORD saved_window_style_;
65 DWORD saved_window_ex_style_; 78 DWORD saved_window_ex_style_;
66 79
67 DISALLOW_COPY_AND_ASSIGN(DesktopHostWin); 80 DISALLOW_COPY_AND_ASSIGN(DesktopHostWin);
68 }; 81 };
69 82
70 } // namespace aura 83 } // namespace aura
71 84
72 #endif // UI_AURA_DESKTOP_HOST_WIN_H_ 85 #endif // UI_AURA_DESKTOP_HOST_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698