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 |