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

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: address comments Created 9 years 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 gfx::Point GetLocationOnNativeScreen() const OVERRIDE; 34 virtual gfx::Point GetLocationOnNativeScreen() const OVERRIDE;
31 virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE; 35 virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE;
32 virtual gfx::Point QueryMouseLocation() OVERRIDE; 36 virtual gfx::Point QueryMouseLocation() OVERRIDE;
33 virtual void PostNativeEvent(const base::NativeEvent& native_event) OVERRIDE; 37 virtual void PostNativeEvent(const base::NativeEvent& native_event) OVERRIDE;
38 virtual ui::InputMethod* GetInputMethod() OVERRIDE;
39
40 // ui::internal::InputMethodDelegate Override.
41 virtual void DispatchKeyEventPostIME(const base::NativeEvent& event) OVERRIDE;
42 virtual void DispatchFabricatedKeyEventPostIME(
43 ui::EventType type, ui::KeyboardCode key_code, int flags) OVERRIDE;
34 44
35 private: 45 private:
36 BEGIN_MSG_MAP_EX(DesktopHostWin) 46 BEGIN_MSG_MAP_EX(DesktopHostWin)
37 // Range handlers must go first! 47 // Range handlers must go first!
38 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) 48 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange)
39 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) 49 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange)
40 50
41 // Key events. 51 // Key events.
42 MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyEvent) 52 MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyEvent)
43 MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyEvent) 53 MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyEvent)
44 MESSAGE_HANDLER_EX(WM_SYSKEYDOWN, OnKeyEvent) 54 MESSAGE_HANDLER_EX(WM_SYSKEYDOWN, OnKeyEvent)
45 MESSAGE_HANDLER_EX(WM_SYSKEYUP, OnKeyEvent) 55 MESSAGE_HANDLER_EX(WM_SYSKEYUP, OnKeyEvent)
46 MESSAGE_HANDLER_EX(WM_CHAR, OnKeyEvent) 56 MESSAGE_HANDLER_EX(WM_CHAR, OnKeyEvent)
47 MESSAGE_HANDLER_EX(WM_SYSCHAR, OnKeyEvent) 57 MESSAGE_HANDLER_EX(WM_SYSCHAR, OnKeyEvent)
48 MESSAGE_HANDLER_EX(WM_IME_CHAR, OnKeyEvent) 58 MESSAGE_HANDLER_EX(WM_IME_CHAR, OnKeyEvent)
49 59
50 MSG_WM_CLOSE(OnClose) 60 MSG_WM_CLOSE(OnClose)
51 MSG_WM_PAINT(OnPaint) 61 MSG_WM_PAINT(OnPaint)
52 MSG_WM_SIZE(OnSize) 62 MSG_WM_SIZE(OnSize)
53 END_MSG_MAP() 63 END_MSG_MAP()
54 64
55 void OnClose(); 65 void OnClose();
56 LRESULT OnKeyEvent(UINT message, WPARAM w_param, LPARAM l_param); 66 LRESULT OnKeyEvent(UINT message, WPARAM w_param, LPARAM l_param);
57 LRESULT OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param); 67 LRESULT OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param);
58 void OnPaint(HDC dc); 68 void OnPaint(HDC dc);
59 void OnSize(UINT param, const CSize& size); 69 void OnSize(UINT param, const CSize& size);
60 70
61 Desktop* desktop_; 71 Desktop* desktop_;
62 72
73 // TODO(yusukes): implement ui::InputMethodWin.
74 ui::MockInputMethod input_method_;
75
63 bool fullscreen_; 76 bool fullscreen_;
64 RECT saved_window_rect_; 77 RECT saved_window_rect_;
65 DWORD saved_window_style_; 78 DWORD saved_window_style_;
66 DWORD saved_window_ex_style_; 79 DWORD saved_window_ex_style_;
67 80
68 DISALLOW_COPY_AND_ASSIGN(DesktopHostWin); 81 DISALLOW_COPY_AND_ASSIGN(DesktopHostWin);
69 }; 82 };
70 83
71 } // namespace aura 84 } // namespace aura
72 85
73 #endif // UI_AURA_DESKTOP_HOST_WIN_H_ 86 #endif // UI_AURA_DESKTOP_HOST_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698