| OLD | NEW |
| 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/wm/gestures/system_pinch_handler.h" | 5 #include "ash/wm/gestures/system_pinch_handler.h" |
| 6 | 6 |
| 7 #include "ash/launcher/launcher.h" | 7 #include "ash/launcher/launcher.h" |
| 8 #include "ash/screen_ash.h" | 8 #include "ash/screen_ash.h" |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/wm/property_util.h" | 10 #include "ash/wm/property_util.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 phantom_.Show(bounds, NULL); | 76 phantom_.Show(bounds, NULL); |
| 77 break; | 77 break; |
| 78 } | 78 } |
| 79 | 79 |
| 80 case ui::ET_GESTURE_MULTIFINGER_SWIPE: { | 80 case ui::ET_GESTURE_MULTIFINGER_SWIPE: { |
| 81 phantom_.Hide(); | 81 phantom_.Hide(); |
| 82 pinch_factor_ = 1.0; | 82 pinch_factor_ = 1.0; |
| 83 phantom_state_ = PHANTOM_WINDOW_NORMAL; | 83 phantom_state_ = PHANTOM_WINDOW_NORMAL; |
| 84 | 84 |
| 85 if (event.details().swipe_left() || event.details().swipe_right()) { | 85 if (event.details().swipe_left() || event.details().swipe_right()) { |
| 86 // Snap for left/right swipes. In case the window is | 86 // Snap for left/right swipes. |
| 87 // maximized/fullscreen, then restore the window first so that tiling | |
| 88 // works correctly. | |
| 89 if (wm::IsWindowMaximized(target_) || | |
| 90 wm::IsWindowFullscreen(target_)) | |
| 91 wm::RestoreWindow(target_); | |
| 92 | |
| 93 ui::ScopedLayerAnimationSettings settings( | 87 ui::ScopedLayerAnimationSettings settings( |
| 94 target_->layer()->GetAnimator()); | 88 target_->layer()->GetAnimator()); |
| 95 SnapSizer sizer(target_, | 89 wm::SnapWindow(target_, |
| 96 gfx::Point(), | |
| 97 event.details().swipe_left() ? internal::SnapSizer::LEFT_EDGE : | 90 event.details().swipe_left() ? internal::SnapSizer::LEFT_EDGE : |
| 98 internal::SnapSizer::RIGHT_EDGE, | 91 internal::SnapSizer::RIGHT_EDGE); |
| 99 internal::SnapSizer::OTHER_INPUT); | |
| 100 target_->SetBounds(sizer.GetSnapBounds(target_->bounds())); | |
| 101 } else if (event.details().swipe_up()) { | 92 } else if (event.details().swipe_up()) { |
| 102 if (!wm::IsWindowMaximized(target_) && | 93 if (!wm::IsWindowMaximized(target_) && |
| 103 !wm::IsWindowFullscreen(target_)) | 94 !wm::IsWindowFullscreen(target_)) |
| 104 wm::MaximizeWindow(target_); | 95 wm::MaximizeWindow(target_); |
| 105 } else if (event.details().swipe_down()) { | 96 } else if (event.details().swipe_down()) { |
| 106 wm::MinimizeWindow(target_); | 97 wm::MinimizeWindow(target_); |
| 107 } else { | 98 } else { |
| 108 NOTREACHED() << "Swipe happened without a direction."; | 99 NOTREACHED() << "Swipe happened without a direction."; |
| 109 } | 100 } |
| 110 break; | 101 break; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 phantom_state_ = PHANTOM_WINDOW_MINIMIZED; | 137 phantom_state_ = PHANTOM_WINDOW_MINIMIZED; |
| 147 return rect; | 138 return rect; |
| 148 } | 139 } |
| 149 | 140 |
| 150 phantom_state_ = PHANTOM_WINDOW_NORMAL; | 141 phantom_state_ = PHANTOM_WINDOW_NORMAL; |
| 151 return window->bounds(); | 142 return window->bounds(); |
| 152 } | 143 } |
| 153 | 144 |
| 154 } // namespace internal | 145 } // namespace internal |
| 155 } // namespace ash | 146 } // namespace ash |
| OLD | NEW |