| 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/partial_screenshot_view.h" | 5 #include "ash/wm/partial_screenshot_view.h" |
| 6 | 6 |
| 7 #include "ash/screenshot_delegate.h" | 7 #include "ash/screenshot_delegate.h" |
| 8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
| 9 #include "ash/shell_window_ids.h" | 9 #include "ash/shell_window_ids.h" |
| 10 #include "ash/wm/overlay_event_filter.h" | 10 #include "ash/wm/overlay_event_filter.h" |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 } | 114 } |
| 115 | 115 |
| 116 void PartialScreenshotView::OnMouseReleased(const ui::MouseEvent& event) { | 116 void PartialScreenshotView::OnMouseReleased(const ui::MouseEvent& event) { |
| 117 Cancel(); | 117 Cancel(); |
| 118 if (!is_dragging_) | 118 if (!is_dragging_) |
| 119 return; | 119 return; |
| 120 | 120 |
| 121 is_dragging_ = false; | 121 is_dragging_ = false; |
| 122 if (screenshot_delegate_) { | 122 if (screenshot_delegate_) { |
| 123 aura::RootWindow *root_window = Shell::GetPrimaryRootWindow(); | 123 aura::RootWindow *root_window = Shell::GetPrimaryRootWindow(); |
| 124 gfx::Rect root_window_screenshot_rect = root_window->bounds(); | |
| 125 root_window_screenshot_rect.Intersect(GetScreenshotRect()); | |
| 126 screenshot_delegate_->HandleTakePartialScreenshot( | 124 screenshot_delegate_->HandleTakePartialScreenshot( |
| 127 root_window, root_window_screenshot_rect); | 125 root_window, |
| 126 gfx::Intersection(root_window->bounds(), GetScreenshotRect())); |
| 128 } | 127 } |
| 129 } | 128 } |
| 130 | 129 |
| 131 gfx::Rect PartialScreenshotView::GetScreenshotRect() const { | 130 gfx::Rect PartialScreenshotView::GetScreenshotRect() const { |
| 132 int left = std::min(start_position_.x(), current_position_.x()); | 131 int left = std::min(start_position_.x(), current_position_.x()); |
| 133 int top = std::min(start_position_.y(), current_position_.y()); | 132 int top = std::min(start_position_.y(), current_position_.y()); |
| 134 int width = ::abs(start_position_.x() - current_position_.x()); | 133 int width = ::abs(start_position_.x() - current_position_.x()); |
| 135 int height = ::abs(start_position_.y() - current_position_.y()); | 134 int height = ::abs(start_position_.y() - current_position_.y()); |
| 136 return gfx::Rect(left, top, width, height); | 135 return gfx::Rect(left, top, width, height); |
| 137 } | 136 } |
| 138 | 137 |
| 139 } // namespace ash | 138 } // namespace ash |
| OLD | NEW |