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

Unified Diff: ash/accelerators/accelerator_controller.cc

Issue 10915140: Add the partial screen magnifier to Chrome OS. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Code review fixes Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/ash.gyp » ('j') | ash/magnifier/magnification_controller.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_controller.cc
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 2b9eaa5a15dab8c6313e52455074a5b874e1b760..05238ba07711b912bf69e7112694950a701c1253 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -20,6 +20,7 @@
#include "ash/launcher/launcher_delegate.h"
#include "ash/launcher/launcher_model.h"
#include "ash/magnifier/magnification_controller.h"
+#include "ash/magnifier/partial_magnification_controller.h"
#include "ash/root_window_controller.h"
#include "ash/rotator/screen_rotation.h"
#include "ash/screenshot_delegate.h"
@@ -240,18 +241,25 @@ bool HandleToggleRootWindowFullScreen() {
// Magnify the screen
bool HandleMagnifyScreen(int delta_index) {
- // TODO(yoshiki): Create the class like MagnifierStepScaleController, and
- // move the following scale control to it.
- float scale =
- ash::Shell::GetInstance()->magnification_controller()->GetScale();
- // Calculate rounded logarithm (base kMagnificationFactor) of scale.
- int scale_index =
- std::floor(std::log(scale) / std::log(kMagnificationFactor) + 0.5);
-
- int new_scale_index = std::max(0, std::min(8, scale_index + delta_index));
-
- ash::Shell::GetInstance()->magnification_controller()->
- SetScale(std::pow(kMagnificationFactor, new_scale_index), true);
+ if (ash::Shell::GetInstance()->magnification_controller()->IsEnabled()) {
+ // TODO(yoshiki): Create the class like MagnifierStepScaleController, and
+ // move the following scale control to it.
+ float scale =
+ ash::Shell::GetInstance()->magnification_controller()->GetScale();
+ // Calculate rounded logarithm (base kMagnificationFactor) of scale.
+ int scale_index =
+ std::floor(std::log(scale) / std::log(kMagnificationFactor) + 0.5);
+
+ int new_scale_index = std::max(0, std::min(8, scale_index + delta_index));
oshima 2012/09/13 16:35:31 I probably would create a small function to get sc
+
+ ash::Shell::GetInstance()->magnification_controller()->
+ SetScale(std::pow(kMagnificationFactor, new_scale_index), true);
+ } else if (ash::Shell::GetInstance()
+ ->partial_magnification_controller()->IsEnabled()) {
+ float scale = delta_index > 0 ? internal::kDefaultPartialMagnifiedScale : 1;
+ ash::Shell::GetInstance()->partial_magnification_controller()->
+ SetScale(scale);
+ }
return true;
}
« no previous file with comments | « no previous file | ash/ash.gyp » ('j') | ash/magnifier/magnification_controller.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698