OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" | 5 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "ui/aura/window_event_dispatcher.h" | 9 #include "ui/aura/window_event_dispatcher.h" |
10 #include "ui/aura/window_tree_host.h" | 10 #include "ui/aura/window_tree_host.h" |
11 #include "ui/base/cursor/cursor_loader.h" | 11 #include "ui/base/cursor/cursor_loader.h" |
12 | 12 |
13 namespace views { | 13 namespace views { |
14 | 14 |
15 DesktopNativeCursorManager::DesktopNativeCursorManager() | 15 DesktopNativeCursorManager::DesktopNativeCursorManager() |
16 : cursor_loader_(ui::CursorLoader::Create()) {} | 16 : cursor_loader_(ui::CursorLoader::Create()) {} |
17 | 17 |
18 DesktopNativeCursorManager::~DesktopNativeCursorManager() { | 18 DesktopNativeCursorManager::~DesktopNativeCursorManager() { |
19 } | 19 } |
20 | 20 |
21 gfx::NativeCursor DesktopNativeCursorManager::GetInitializedCursor(int type) { | 21 gfx::NativeCursor DesktopNativeCursorManager::GetInitializedCursor( |
| 22 ui::CursorType type) { |
22 gfx::NativeCursor cursor(type); | 23 gfx::NativeCursor cursor(type); |
23 cursor_loader_->SetPlatformCursor(&cursor); | 24 cursor_loader_->SetPlatformCursor(&cursor); |
24 return cursor; | 25 return cursor; |
25 } | 26 } |
26 | 27 |
27 void DesktopNativeCursorManager::AddHost(aura::WindowTreeHost* host) { | 28 void DesktopNativeCursorManager::AddHost(aura::WindowTreeHost* host) { |
28 hosts_.insert(host); | 29 hosts_.insert(host); |
29 } | 30 } |
30 | 31 |
31 void DesktopNativeCursorManager::RemoveHost(aura::WindowTreeHost* host) { | 32 void DesktopNativeCursorManager::RemoveHost(aura::WindowTreeHost* host) { |
(...skipping 24 matching lines...) Expand all Loading... |
56 } | 57 } |
57 | 58 |
58 void DesktopNativeCursorManager::SetVisibility( | 59 void DesktopNativeCursorManager::SetVisibility( |
59 bool visible, | 60 bool visible, |
60 wm::NativeCursorManagerDelegate* delegate) { | 61 wm::NativeCursorManagerDelegate* delegate) { |
61 delegate->CommitVisibility(visible); | 62 delegate->CommitVisibility(visible); |
62 | 63 |
63 if (visible) { | 64 if (visible) { |
64 SetCursor(delegate->GetCursor(), delegate); | 65 SetCursor(delegate->GetCursor(), delegate); |
65 } else { | 66 } else { |
66 gfx::NativeCursor invisible_cursor(ui::kCursorNone); | 67 gfx::NativeCursor invisible_cursor(ui::CursorType::kNone); |
67 cursor_loader_->SetPlatformCursor(&invisible_cursor); | 68 cursor_loader_->SetPlatformCursor(&invisible_cursor); |
68 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) | 69 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) |
69 (*i)->SetCursor(invisible_cursor); | 70 (*i)->SetCursor(invisible_cursor); |
70 } | 71 } |
71 | 72 |
72 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) | 73 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) |
73 (*i)->OnCursorVisibilityChanged(visible); | 74 (*i)->OnCursorVisibilityChanged(visible); |
74 } | 75 } |
75 | 76 |
76 void DesktopNativeCursorManager::SetCursorSet( | 77 void DesktopNativeCursorManager::SetCursorSet( |
(...skipping 10 matching lines...) Expand all Loading... |
87 // TODO(erg): In the ash version, we set the last mouse location on Env. I'm | 88 // TODO(erg): In the ash version, we set the last mouse location on Env. I'm |
88 // not sure this concept makes sense on the desktop. | 89 // not sure this concept makes sense on the desktop. |
89 | 90 |
90 SetVisibility(delegate->IsCursorVisible(), delegate); | 91 SetVisibility(delegate->IsCursorVisible(), delegate); |
91 | 92 |
92 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) | 93 for (Hosts::const_iterator i = hosts_.begin(); i != hosts_.end(); ++i) |
93 (*i)->dispatcher()->OnMouseEventsEnableStateChanged(enabled); | 94 (*i)->dispatcher()->OnMouseEventsEnableStateChanged(enabled); |
94 } | 95 } |
95 | 96 |
96 } // namespace views | 97 } // namespace views |
OLD | NEW |