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

Side by Side Diff: ash/accelerators/accelerator_controller.cc

Issue 13947045: Magnifier: Move the cursor directly to the root window host. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 8 months 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
« no previous file with comments | « no previous file | ash/magnifier/magnification_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <iostream> 9 #include <iostream>
10 #include <string> 10 #include <string>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 #if defined(OS_CHROMEOS) 66 #if defined(OS_CHROMEOS)
67 #include "ash/system/chromeos/keyboard_brightness_controller.h" 67 #include "ash/system/chromeos/keyboard_brightness_controller.h"
68 #include "base/chromeos/chromeos_version.h" 68 #include "base/chromeos/chromeos_version.h"
69 #endif // defined(OS_CHROMEOS) 69 #endif // defined(OS_CHROMEOS)
70 70
71 namespace ash { 71 namespace ash {
72 namespace { 72 namespace {
73 73
74 using internal::DisplayInfo; 74 using internal::DisplayInfo;
75 75
76 // Factor of magnification scale. For example, when this value is 1.189, scale
77 // value will be changed x1.000, x1.189, x1.414, x1.681, x2.000, ...
78 // Note: this value is 2.0 ^ (1 / 4).
79 const float kMagnificationFactor = 1.18920712f;
80
81 bool DebugShortcutsEnabled() { 76 bool DebugShortcutsEnabled() {
82 #if defined(NDEBUG) 77 #if defined(NDEBUG)
83 return CommandLine::ForCurrentProcess()->HasSwitch( 78 return CommandLine::ForCurrentProcess()->HasSwitch(
84 switches::kAshDebugShortcuts); 79 switches::kAshDebugShortcuts);
85 #else 80 #else
86 return true; 81 return true;
87 #endif 82 #endif
88 } 83 }
89 84
90 bool HandleCycleWindowMRU(WindowCycleController::Direction direction, 85 bool HandleCycleWindowMRU(WindowCycleController::Direction direction,
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 216 }
222 217
223 bool HandleToggleRootWindowFullScreen() { 218 bool HandleToggleRootWindowFullScreen() {
224 Shell::GetPrimaryRootWindow()->ToggleFullScreen(); 219 Shell::GetPrimaryRootWindow()->ToggleFullScreen();
225 return true; 220 return true;
226 } 221 }
227 222
228 // Magnify the screen 223 // Magnify the screen
229 bool HandleMagnifyScreen(int delta_index) { 224 bool HandleMagnifyScreen(int delta_index) {
230 if (ash::Shell::GetInstance()->magnification_controller()->IsEnabled()) { 225 if (ash::Shell::GetInstance()->magnification_controller()->IsEnabled()) {
231 // TODO(yoshiki): Create the class like MagnifierStepScaleController, and 226 // TODO(yoshiki): Move the following logic to MagnificationController.
232 // move the following scale control to it.
233 float scale = 227 float scale =
234 ash::Shell::GetInstance()->magnification_controller()->GetScale(); 228 ash::Shell::GetInstance()->magnification_controller()->GetScale();
235 // Calculate rounded logarithm (base kMagnificationFactor) of scale. 229 // Calculate rounded logarithm (base kMagnificationScaleFactor) of scale.
236 int scale_index = 230 int scale_index =
237 std::floor(std::log(scale) / std::log(kMagnificationFactor) + 0.5); 231 std::floor(std::log(scale) / std::log(kMagnificationScaleFactor) + 0.5);
238 232
239 int new_scale_index = std::max(0, std::min(8, scale_index + delta_index)); 233 int new_scale_index = std::max(0, std::min(8, scale_index + delta_index));
240 234
241 ash::Shell::GetInstance()->magnification_controller()-> 235 ash::Shell::GetInstance()->magnification_controller()->
242 SetScale(std::pow(kMagnificationFactor, new_scale_index), true); 236 SetScale(std::pow(kMagnificationScaleFactor, new_scale_index), true);
243 } else if (ash::Shell::GetInstance()-> 237 } else if (ash::Shell::GetInstance()->
244 partial_magnification_controller()->is_enabled()) { 238 partial_magnification_controller()->is_enabled()) {
245 float scale = delta_index > 0 ? kDefaultPartialMagnifiedScale : 1; 239 float scale = delta_index > 0 ? kDefaultPartialMagnifiedScale : 1;
246 ash::Shell::GetInstance()->partial_magnification_controller()-> 240 ash::Shell::GetInstance()->partial_magnification_controller()->
247 SetScale(scale); 241 SetScale(scale);
248 } 242 }
249 243
250 return true; 244 return true;
251 } 245 }
252 246
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 keyboard_brightness_control_delegate) { 906 keyboard_brightness_control_delegate) {
913 keyboard_brightness_control_delegate_ = 907 keyboard_brightness_control_delegate_ =
914 keyboard_brightness_control_delegate.Pass(); 908 keyboard_brightness_control_delegate.Pass();
915 } 909 }
916 910
917 bool AcceleratorController::CanHandleAccelerators() const { 911 bool AcceleratorController::CanHandleAccelerators() const {
918 return true; 912 return true;
919 } 913 }
920 914
921 } // namespace ash 915 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/magnifier/magnification_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698