Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "ui/aura/desktop.h" | 5 #include "ui/aura/desktop.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 271 break; | 271 break; |
| 272 } | 272 } |
| 273 if (target && target->delegate()) { | 273 if (target && target->delegate()) { |
| 274 MouseEvent translated_event(*event, this, target); | 274 MouseEvent translated_event(*event, this, target); |
| 275 return ProcessMouseEvent(target, &translated_event); | 275 return ProcessMouseEvent(target, &translated_event); |
| 276 } | 276 } |
| 277 return false; | 277 return false; |
| 278 } | 278 } |
| 279 | 279 |
| 280 bool Desktop::DispatchKeyEvent(KeyEvent* event) { | 280 bool Desktop::DispatchKeyEvent(KeyEvent* event) { |
| 281 #if !defined(NDEBUG) | 281 #if !defined(NDEBUG) |
|
sky
2011/10/27 19:29:19
I don't like this method here. It results in Deskt
| |
| 282 if (event->type() == ui::ET_KEY_PRESSED && | 282 if (event->type() == ui::ET_KEY_PRESSED && |
| 283 (event->flags() & ui::EF_SHIFT_DOWN) && | 283 (event->flags() & ui::EF_SHIFT_DOWN) && |
| 284 (event->flags() & ui::EF_ALT_DOWN) && | 284 (event->flags() & ui::EF_ALT_DOWN) && |
| 285 event->is_char()) { | 285 event->is_char()) { |
| 286 | 286 |
| 287 bool should_rotate = true; | 287 bool should_rotate = true; |
| 288 int new_degrees = 0; | 288 int new_degrees = 0; |
| 289 switch (event->key_code()) { | 289 switch (event->key_code()) { |
| 290 case ui::VKEY_UP: new_degrees = 0; break; | 290 case ui::VKEY_UP: new_degrees = 0; break; |
| 291 case ui::VKEY_DOWN: new_degrees = 180; break; | 291 case ui::VKEY_DOWN: new_degrees = 180; break; |
| 292 case ui::VKEY_RIGHT: new_degrees = 90; break; | 292 case ui::VKEY_RIGHT: new_degrees = 90; break; |
| 293 case ui::VKEY_LEFT: new_degrees = -90; break; | 293 case ui::VKEY_LEFT: new_degrees = -90; break; |
| 294 default: should_rotate = false; break; | 294 default: should_rotate = false; break; |
| 295 } | 295 } |
| 296 | 296 |
| 297 if (should_rotate) { | 297 if (should_rotate) { |
| 298 float rotation = 0.0f; | 298 float rotation = 0.0f; |
| 299 int degrees = 0; | 299 int degrees = 0; |
| 300 const ui::Transform& transform = layer()->GetTargetTransform(); | 300 const ui::Transform& transform = layer()->GetTargetTransform(); |
| 301 if (ui::InterpolatedTransform::FactorTRS(transform, | 301 if (ui::InterpolatedTransform::FactorTRS(transform, |
| 302 NULL, &rotation, NULL)) | 302 NULL, &rotation, NULL)) |
| 303 degrees = NormalizeAngle(new_degrees - SymmetricRound(rotation)); | 303 degrees = NormalizeAngle(new_degrees - SymmetricRound(rotation)); |
| 304 | 304 |
| 305 if (degrees != 0) { | 305 if (degrees != 0) { |
| 306 layer()->GetAnimator()->set_preemption_strategy( | 306 layer()->GetAnimator()->set_preemption_strategy( |
| 307 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS); | 307 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS); |
| 308 layer()->GetAnimator()->ScheduleAnimationElement( | 308 scoped_ptr<ui::LayerAnimationSequence> screen_rotation( |
| 309 new ScreenRotation(degrees)); | 309 new ui::LayerAnimationSequence(new ScreenRotation(degrees))); |
| 310 screen_rotation->AddObserver(this); | |
| 311 layer()->GetAnimator()->ScheduleAnimation(screen_rotation.release()); | |
| 310 return true; | 312 return true; |
| 311 } | 313 } |
| 312 } | 314 } |
| 313 } | 315 } |
| 314 #endif | 316 #endif |
| 315 | 317 |
| 316 if (focused_window_) { | 318 if (focused_window_) { |
| 317 KeyEvent translated_event(*event); | 319 KeyEvent translated_event(*event); |
| 318 return ProcessKeyEvent(focused_window_, &translated_event); | 320 return ProcessKeyEvent(focused_window_, &translated_event); |
| 319 } | 321 } |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 603 base::StringToInt(parts[1], &parsed_height) && parsed_height > 0) { | 605 base::StringToInt(parts[1], &parsed_height) && parsed_height > 0) { |
| 604 bounds.set_size(gfx::Size(parsed_width, parsed_height)); | 606 bounds.set_size(gfx::Size(parsed_width, parsed_height)); |
| 605 } else if (use_fullscreen_host_window_) { | 607 } else if (use_fullscreen_host_window_) { |
| 606 bounds = gfx::Rect(DesktopHost::GetNativeDisplaySize()); | 608 bounds = gfx::Rect(DesktopHost::GetNativeDisplaySize()); |
| 607 } | 609 } |
| 608 | 610 |
| 609 return bounds; | 611 return bounds; |
| 610 } | 612 } |
| 611 | 613 |
| 612 } // namespace aura | 614 } // namespace aura |
| OLD | NEW |