| Index: athena/screen/screen_accelerator_handler.cc
|
| diff --git a/athena/screen/screen_accelerator_handler.cc b/athena/screen/screen_accelerator_handler.cc
|
| index 031a039dc68a2e1ecdc83b557a307da41deb522c..78437d730d7da1c5bb79be8ba4f91cc7ecc40866 100644
|
| --- a/athena/screen/screen_accelerator_handler.cc
|
| +++ b/athena/screen/screen_accelerator_handler.cc
|
| @@ -5,6 +5,7 @@
|
| #include "athena/screen/screen_accelerator_handler.h"
|
|
|
| #include "athena/input/public/accelerator_manager.h"
|
| +#include "athena/screen/public/screen_manager.h"
|
| #include "ui/aura/window.h"
|
| #include "ui/aura/window_event_dispatcher.h"
|
| #include "ui/aura/window_tree_host.h"
|
| @@ -17,6 +18,7 @@ namespace {
|
| enum Command {
|
| CMD_PRINT_LAYER_HIERARCHY,
|
| CMD_PRINT_WINDOW_HIERARCHY,
|
| + CMD_ROTATE_SCREEN,
|
| };
|
|
|
| const int EF_ALL_DOWN =
|
| @@ -27,6 +29,9 @@ const AcceleratorData accelerator_data[] = {
|
| AF_DEBUG},
|
| {TRIGGER_ON_PRESS, ui::VKEY_W, EF_ALL_DOWN, CMD_PRINT_WINDOW_HIERARCHY,
|
| AF_DEBUG},
|
| + {TRIGGER_ON_PRESS, ui::VKEY_F3,
|
| + ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
|
| + CMD_ROTATE_SCREEN, AF_NONE},
|
| };
|
|
|
| void PrintLayerHierarchy(aura::Window* root_window) {
|
| @@ -63,6 +68,19 @@ void HandlePrintWindowHierarchy(aura::Window* root_window) {
|
| LOG(ERROR) << out.str();
|
| }
|
|
|
| +void HandleRotateScreen() {
|
| + ScreenManager* screen_manager = ScreenManager::Get();
|
| + gfx::Display::Rotation current_rotation = screen_manager->GetRotation();
|
| + if (current_rotation == gfx::Display::ROTATE_0)
|
| + screen_manager->SetRotation(gfx::Display::ROTATE_90);
|
| + else if (current_rotation == gfx::Display::ROTATE_90)
|
| + screen_manager->SetRotation(gfx::Display::ROTATE_180);
|
| + else if (current_rotation == gfx::Display::ROTATE_180)
|
| + screen_manager->SetRotation(gfx::Display::ROTATE_270);
|
| + else if (current_rotation == gfx::Display::ROTATE_270)
|
| + screen_manager->SetRotation(gfx::Display::ROTATE_0);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -89,6 +107,9 @@ bool ScreenAcceleratorHandler::OnAcceleratorFired(
|
| case CMD_PRINT_WINDOW_HIERARCHY:
|
| HandlePrintWindowHierarchy(root_window_);
|
| return true;
|
| + case CMD_ROTATE_SCREEN:
|
| + HandleRotateScreen();
|
| + return true;
|
| }
|
| return false;
|
| }
|
|
|