Chromium Code Reviews| 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 "ash/accelerators/accelerator_controller.h" | 5 #include "ash/accelerators/accelerator_controller.h" |
| 6 | 6 |
| 7 #include <cmath> | |
| 8 | |
| 7 #include "ash/accelerators/accelerator_table.h" | 9 #include "ash/accelerators/accelerator_table.h" |
| 8 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| 9 #include "ash/caps_lock_delegate.h" | 11 #include "ash/caps_lock_delegate.h" |
| 10 #include "ash/desktop_background/desktop_background_controller.h" | 12 #include "ash/desktop_background/desktop_background_controller.h" |
| 11 #include "ash/focus_cycler.h" | 13 #include "ash/focus_cycler.h" |
| 12 #include "ash/ime_control_delegate.h" | 14 #include "ash/ime_control_delegate.h" |
| 13 #include "ash/launcher/launcher.h" | 15 #include "ash/launcher/launcher.h" |
| 14 #include "ash/launcher/launcher_delegate.h" | 16 #include "ash/launcher/launcher_delegate.h" |
| 15 #include "ash/launcher/launcher_model.h" | 17 #include "ash/launcher/launcher_model.h" |
| 18 #include "ash/magnifier/magnification_controller.h" | |
| 16 #include "ash/monitor/multi_monitor_manager.h" | 19 #include "ash/monitor/multi_monitor_manager.h" |
| 17 #include "ash/screenshot_delegate.h" | 20 #include "ash/screenshot_delegate.h" |
| 18 #include "ash/shell.h" | 21 #include "ash/shell.h" |
| 19 #include "ash/shell_delegate.h" | 22 #include "ash/shell_delegate.h" |
| 20 #include "ash/shell_window_ids.h" | 23 #include "ash/shell_window_ids.h" |
| 21 #include "ash/system/brightness/brightness_control_delegate.h" | 24 #include "ash/system/brightness/brightness_control_delegate.h" |
| 22 #include "ash/system/tray/system_tray.h" | 25 #include "ash/system/tray/system_tray.h" |
| 23 #include "ash/volume_control_delegate.h" | 26 #include "ash/volume_control_delegate.h" |
| 24 #include "ash/wm/property_util.h" | 27 #include "ash/wm/property_util.h" |
| 25 #include "ash/wm/window_cycle_controller.h" | 28 #include "ash/wm/window_cycle_controller.h" |
| 26 #include "ash/wm/window_util.h" | 29 #include "ash/wm/window_util.h" |
| 27 #include "ash/wm/workspace/snap_sizer.h" | 30 #include "ash/wm/workspace/snap_sizer.h" |
| 28 #include "base/command_line.h" | 31 #include "base/command_line.h" |
| 29 #include "ui/aura/event.h" | 32 #include "ui/aura/event.h" |
| 30 #include "ui/aura/root_window.h" | 33 #include "ui/aura/root_window.h" |
| 31 #include "ui/base/accelerators/accelerator.h" | 34 #include "ui/base/accelerators/accelerator.h" |
| 32 #include "ui/base/accelerators/accelerator_manager.h" | 35 #include "ui/base/accelerators/accelerator_manager.h" |
| 33 #include "ui/compositor/debug_utils.h" | 36 #include "ui/compositor/debug_utils.h" |
| 34 #include "ui/compositor/layer.h" | 37 #include "ui/compositor/layer.h" |
| 35 #include "ui/compositor/layer_animation_sequence.h" | 38 #include "ui/compositor/layer_animation_sequence.h" |
| 36 #include "ui/compositor/layer_animator.h" | 39 #include "ui/compositor/layer_animator.h" |
| 37 #include "ui/compositor/screen_rotation.h" | 40 #include "ui/compositor/screen_rotation.h" |
| 38 #include "ui/oak/oak.h" | 41 #include "ui/oak/oak.h" |
| 39 | 42 |
| 40 namespace { | 43 namespace { |
| 41 | 44 |
| 45 // Factor of magnification scale. For example, when this value is 1.2, scale | |
| 46 // value will be changed x1.0, x1.2, x1.44, ... | |
| 47 const float kMagnificationFactor = 1.2; | |
| 48 | |
| 42 bool HandleCycleWindowMRU(ash::WindowCycleController::Direction direction, | 49 bool HandleCycleWindowMRU(ash::WindowCycleController::Direction direction, |
| 43 bool is_alt_down) { | 50 bool is_alt_down) { |
| 44 ash::Shell::GetInstance()-> | 51 ash::Shell::GetInstance()-> |
| 45 window_cycle_controller()->HandleCycleWindow(direction, is_alt_down); | 52 window_cycle_controller()->HandleCycleWindow(direction, is_alt_down); |
| 46 // Always report we handled the key, even if the window didn't change. | 53 // Always report we handled the key, even if the window didn't change. |
| 47 return true; | 54 return true; |
| 48 } | 55 } |
| 49 | 56 |
| 50 void HandleCycleWindowLinear(ash::CycleDirection direction) { | 57 void HandleCycleWindowLinear(ash::CycleDirection direction) { |
| 51 ash::Shell::GetInstance()->launcher()->CycleWindowLinear(direction); | 58 ash::Shell::GetInstance()->launcher()->CycleWindowLinear(direction); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 164 } | 171 } |
| 165 | 172 |
| 166 bool HandlePrintWindowHierarchy() { | 173 bool HandlePrintWindowHierarchy() { |
| 167 VLOG(1) << "Window hierarchy:"; | 174 VLOG(1) << "Window hierarchy:"; |
| 168 aura::Window* container = ash::Shell::GetInstance()->GetContainer( | 175 aura::Window* container = ash::Shell::GetInstance()->GetContainer( |
| 169 ash::internal::kShellWindowId_DefaultContainer); | 176 ash::internal::kShellWindowId_DefaultContainer); |
| 170 PrintWindowHierarchy(container, 0); | 177 PrintWindowHierarchy(container, 0); |
| 171 return true; | 178 return true; |
| 172 } | 179 } |
| 173 | 180 |
| 181 // Mafnify the screen | |
|
sky
2012/06/11 16:19:14
Magnify the screen.
yoshiki
2012/06/19 17:56:16
Done.
| |
| 182 bool HandleMagnifyScreen(int delta_index) { | |
| 183 static int scale_index = 0; | |
| 184 scale_index = std::max(0, std::min(8, scale_index + delta_index)); | |
|
sky
2012/06/11 16:19:14
Why is this static here? Shouldn't the value live
yoshiki
2012/06/19 17:56:16
Done.
| |
| 185 | |
| 186 ash::Shell::GetInstance()->magnification_controller()-> | |
| 187 SetScale(std::pow(kMagnificationFactor, scale_index), true); | |
|
sky
2012/06/11 16:19:14
indent 4
yoshiki
2012/06/19 17:56:16
Done.
| |
| 188 | |
| 189 return true; | |
| 190 } | |
| 191 | |
| 174 #endif | 192 #endif |
| 175 | 193 |
| 176 } // namespace | 194 } // namespace |
| 177 | 195 |
| 178 namespace ash { | 196 namespace ash { |
| 179 | 197 |
| 180 //////////////////////////////////////////////////////////////////////////////// | 198 //////////////////////////////////////////////////////////////////////////////// |
| 181 // AcceleratorController, public: | 199 // AcceleratorController, public: |
| 182 | 200 |
| 183 AcceleratorController::AcceleratorController() | 201 AcceleratorController::AcceleratorController() |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 463 return HandlePrintWindowHierarchy(); | 481 return HandlePrintWindowHierarchy(); |
| 464 case MONITOR_ADD_REMOVE: | 482 case MONITOR_ADD_REMOVE: |
| 465 internal::MultiMonitorManager::AddRemoveMonitor(); | 483 internal::MultiMonitorManager::AddRemoveMonitor(); |
| 466 return true; | 484 return true; |
| 467 case MONITOR_CYCLE: | 485 case MONITOR_CYCLE: |
| 468 internal::MultiMonitorManager::CycleMonitor(); | 486 internal::MultiMonitorManager::CycleMonitor(); |
| 469 return true; | 487 return true; |
| 470 case MONITOR_TOGGLE_SCALE: | 488 case MONITOR_TOGGLE_SCALE: |
| 471 internal::MultiMonitorManager::ToggleMonitorScale(); | 489 internal::MultiMonitorManager::ToggleMonitorScale(); |
| 472 return true; | 490 return true; |
| 491 case MAGNIFY_SCREEN_ZOOM_IN: | |
| 492 return HandleMagnifyScreen(1); | |
| 493 case MAGNIFY_SCREEN_ZOOM_OUT: | |
| 494 return HandleMagnifyScreen(-1); | |
| 473 #endif | 495 #endif |
| 474 default: | 496 default: |
| 475 NOTREACHED() << "Unhandled action " << it->second; | 497 NOTREACHED() << "Unhandled action " << it->second; |
| 476 } | 498 } |
| 477 return false; | 499 return false; |
| 478 } | 500 } |
| 479 | 501 |
| 480 void AcceleratorController::SwitchToWindow(int window) { | 502 void AcceleratorController::SwitchToWindow(int window) { |
| 481 const LauncherItems& items = | 503 const LauncherItems& items = |
| 482 Shell::GetInstance()->launcher()->model()->items(); | 504 Shell::GetInstance()->launcher()->model()->items(); |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 503 // Then set this one as active. | 525 // Then set this one as active. |
| 504 Shell::GetInstance()->launcher()->ActivateLauncherItem(found_index); | 526 Shell::GetInstance()->launcher()->ActivateLauncherItem(found_index); |
| 505 } | 527 } |
| 506 } | 528 } |
| 507 | 529 |
| 508 bool AcceleratorController::CanHandleAccelerators() const { | 530 bool AcceleratorController::CanHandleAccelerators() const { |
| 509 return true; | 531 return true; |
| 510 } | 532 } |
| 511 | 533 |
| 512 } // namespace ash | 534 } // namespace ash |
| OLD | NEW |