Index: ui/views/corewm/cursor_manager.cc |
diff --git a/ui/views/corewm/cursor_manager.cc b/ui/views/corewm/cursor_manager.cc |
deleted file mode 100644 |
index 2335fdd1cbffb9c1d69eb89e847cef1fe48956c2..0000000000000000000000000000000000000000 |
--- a/ui/views/corewm/cursor_manager.cc |
+++ /dev/null |
@@ -1,235 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/views/corewm/cursor_manager.h" |
- |
-#include "base/logging.h" |
-#include "ui/aura/client/cursor_client_observer.h" |
-#include "ui/views/corewm/native_cursor_manager.h" |
-#include "ui/views/corewm/native_cursor_manager_delegate.h" |
- |
-namespace views { |
-namespace corewm { |
- |
-namespace internal { |
- |
-// Represents the cursor state which is composed of cursor type, visibility, and |
-// mouse events enable state. When mouse events are disabled, the cursor is |
-// always invisible. |
-class CursorState { |
- public: |
- CursorState() |
- : cursor_(ui::kCursorNone), |
- visible_(true), |
- scale_(1.f), |
- cursor_set_(ui::CURSOR_SET_NORMAL), |
- mouse_events_enabled_(true), |
- visible_on_mouse_events_enabled_(true) { |
- } |
- |
- gfx::NativeCursor cursor() const { return cursor_; } |
- void set_cursor(gfx::NativeCursor cursor) { cursor_ = cursor; } |
- |
- bool visible() const { return visible_; } |
- void SetVisible(bool visible) { |
- if (mouse_events_enabled_) |
- visible_ = visible; |
- // Ignores the call when mouse events disabled. |
- } |
- |
- float scale() const { return scale_; } |
- void set_scale(float scale) { |
- scale_ = scale; |
- } |
- |
- ui::CursorSetType cursor_set() const { return cursor_set_; } |
- void set_cursor_set(ui::CursorSetType cursor_set) { |
- cursor_set_ = cursor_set; |
- } |
- |
- bool mouse_events_enabled() const { return mouse_events_enabled_; } |
- void SetMouseEventsEnabled(bool enabled) { |
- if (mouse_events_enabled_ == enabled) |
- return; |
- mouse_events_enabled_ = enabled; |
- |
- // Restores the visibility when mouse events are enabled. |
- if (enabled) { |
- visible_ = visible_on_mouse_events_enabled_; |
- } else { |
- visible_on_mouse_events_enabled_ = visible_; |
- visible_ = false; |
- } |
- } |
- |
- private: |
- gfx::NativeCursor cursor_; |
- bool visible_; |
- float scale_; |
- ui::CursorSetType cursor_set_; |
- bool mouse_events_enabled_; |
- |
- // The visibility to set when mouse events are enabled. |
- bool visible_on_mouse_events_enabled_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CursorState); |
-}; |
- |
-} // namespace internal |
- |
-CursorManager::CursorManager(scoped_ptr<NativeCursorManager> delegate) |
- : delegate_(delegate.Pass()), |
- cursor_lock_count_(0), |
- current_state_(new internal::CursorState), |
- state_on_unlock_(new internal::CursorState) { |
-} |
- |
-CursorManager::~CursorManager() { |
-} |
- |
-void CursorManager::SetCursor(gfx::NativeCursor cursor) { |
- state_on_unlock_->set_cursor(cursor); |
- if (cursor_lock_count_ == 0 && |
- GetCursor() != state_on_unlock_->cursor()) { |
- delegate_->SetCursor(state_on_unlock_->cursor(), this); |
- } |
-} |
- |
-gfx::NativeCursor CursorManager::GetCursor() const { |
- return current_state_->cursor(); |
-} |
- |
-void CursorManager::ShowCursor() { |
- state_on_unlock_->SetVisible(true); |
- if (cursor_lock_count_ == 0 && |
- IsCursorVisible() != state_on_unlock_->visible()) { |
- delegate_->SetVisibility(state_on_unlock_->visible(), this); |
- FOR_EACH_OBSERVER(aura::client::CursorClientObserver, observers_, |
- OnCursorVisibilityChanged(true)); |
- } |
-} |
- |
-void CursorManager::HideCursor() { |
- state_on_unlock_->SetVisible(false); |
- if (cursor_lock_count_ == 0 && |
- IsCursorVisible() != state_on_unlock_->visible()) { |
- delegate_->SetVisibility(state_on_unlock_->visible(), this); |
- FOR_EACH_OBSERVER(aura::client::CursorClientObserver, observers_, |
- OnCursorVisibilityChanged(false)); |
- } |
-} |
- |
-bool CursorManager::IsCursorVisible() const { |
- return current_state_->visible(); |
-} |
- |
-void CursorManager::SetScale(float scale) { |
- state_on_unlock_->set_scale(scale); |
- if (GetScale() != state_on_unlock_->scale()) |
- delegate_->SetScale(state_on_unlock_->scale(), this); |
-} |
- |
-float CursorManager::GetScale() const { |
- return current_state_->scale(); |
-} |
- |
-void CursorManager::SetCursorSet(ui::CursorSetType cursor_set) { |
- state_on_unlock_->set_cursor_set(cursor_set); |
- if (GetCursorSet() != state_on_unlock_->cursor_set()) |
- delegate_->SetCursorSet(state_on_unlock_->cursor_set(), this); |
-} |
- |
-ui::CursorSetType CursorManager::GetCursorSet() const { |
- return current_state_->cursor_set(); |
-} |
- |
-void CursorManager::EnableMouseEvents() { |
- state_on_unlock_->SetMouseEventsEnabled(true); |
- if (cursor_lock_count_ == 0 && |
- IsMouseEventsEnabled() != state_on_unlock_->mouse_events_enabled()) { |
- delegate_->SetMouseEventsEnabled(state_on_unlock_->mouse_events_enabled(), |
- this); |
- } |
-} |
- |
-void CursorManager::DisableMouseEvents() { |
- state_on_unlock_->SetMouseEventsEnabled(false); |
- if (cursor_lock_count_ == 0 && |
- IsMouseEventsEnabled() != state_on_unlock_->mouse_events_enabled()) { |
- delegate_->SetMouseEventsEnabled(state_on_unlock_->mouse_events_enabled(), |
- this); |
- } |
-} |
- |
-bool CursorManager::IsMouseEventsEnabled() const { |
- return current_state_->mouse_events_enabled(); |
-} |
- |
-void CursorManager::SetDisplay(const gfx::Display& display) { |
- delegate_->SetDisplay(display, this); |
-} |
- |
-void CursorManager::LockCursor() { |
- cursor_lock_count_++; |
-} |
- |
-void CursorManager::UnlockCursor() { |
- cursor_lock_count_--; |
- DCHECK_GE(cursor_lock_count_, 0); |
- if (cursor_lock_count_ > 0) |
- return; |
- |
- if (GetCursor() != state_on_unlock_->cursor()) { |
- delegate_->SetCursor(state_on_unlock_->cursor(), this); |
- } |
- if (IsMouseEventsEnabled() != state_on_unlock_->mouse_events_enabled()) { |
- delegate_->SetMouseEventsEnabled(state_on_unlock_->mouse_events_enabled(), |
- this); |
- } |
- if (IsCursorVisible() != state_on_unlock_->visible()) { |
- delegate_->SetVisibility(state_on_unlock_->visible(), |
- this); |
- } |
-} |
- |
-bool CursorManager::IsCursorLocked() const { |
- return cursor_lock_count_ > 0; |
-} |
- |
-void CursorManager::AddObserver( |
- aura::client::CursorClientObserver* observer) { |
- observers_.AddObserver(observer); |
-} |
- |
-void CursorManager::RemoveObserver( |
- aura::client::CursorClientObserver* observer) { |
- observers_.RemoveObserver(observer); |
-} |
- |
-void CursorManager::CommitCursor(gfx::NativeCursor cursor) { |
- current_state_->set_cursor(cursor); |
-} |
- |
-void CursorManager::CommitVisibility(bool visible) { |
- // TODO(tdanderson): Find a better place for this so we don't |
- // notify the observers more than is necessary. |
- FOR_EACH_OBSERVER(aura::client::CursorClientObserver, observers_, |
- OnCursorVisibilityChanged(visible)); |
- current_state_->SetVisible(visible); |
-} |
- |
-void CursorManager::CommitScale(float scale) { |
- current_state_->set_scale(scale); |
-} |
- |
-void CursorManager::CommitCursorSet(ui::CursorSetType cursor_set) { |
- current_state_->set_cursor_set(cursor_set); |
-} |
- |
-void CursorManager::CommitMouseEventsEnabled(bool enabled) { |
- current_state_->SetMouseEventsEnabled(enabled); |
-} |
- |
-} // namespace corewm |
-} // namespace views |