| 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 "chrome/browser/ui/views/tabs/dragged_tab_controller.h" | 5 #include "chrome/browser/ui/views/tabs/dragged_tab_controller.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 716 to_index = NormalizeIndexToAttachedTabStrip(to_index); | 716 to_index = NormalizeIndexToAttachedTabStrip(to_index); |
| 717 if (from_index != to_index) { | 717 if (from_index != to_index) { |
| 718 last_move_screen_loc_ = MajorAxisValue(screen_point, attached_tabstrip_); | 718 last_move_screen_loc_ = MajorAxisValue(screen_point, attached_tabstrip_); |
| 719 attached_model->MoveTabContentsAt(from_index, to_index, true); | 719 attached_model->MoveTabContentsAt(from_index, to_index, true); |
| 720 } | 720 } |
| 721 } | 721 } |
| 722 | 722 |
| 723 attached_tab_->SchedulePaint(); | 723 attached_tab_->SchedulePaint(); |
| 724 attached_tab_->SetX(dragged_view_point.x()); | 724 attached_tab_->SetX(dragged_view_point.x()); |
| 725 attached_tab_->SetX( | 725 attached_tab_->SetX( |
| 726 attached_tabstrip_->MirroredLeftPointForRect(attached_tab_->bounds())); | 726 attached_tabstrip_->GetMirroredXForRect(attached_tab_->bounds())); |
| 727 attached_tab_->SetY(dragged_view_point.y()); | 727 attached_tab_->SetY(dragged_view_point.y()); |
| 728 attached_tab_->SchedulePaint(); | 728 attached_tab_->SchedulePaint(); |
| 729 } | 729 } |
| 730 | 730 |
| 731 void DraggedTabController::MoveDetachedTab(const gfx::Point& screen_point) { | 731 void DraggedTabController::MoveDetachedTab(const gfx::Point& screen_point) { |
| 732 DCHECK(!attached_tabstrip_); | 732 DCHECK(!attached_tabstrip_); |
| 733 DCHECK(view_.get()); | 733 DCHECK(view_.get()); |
| 734 | 734 |
| 735 int x = screen_point.x() - mouse_offset_.x(); | 735 int x = screen_point.x() - mouse_offset_.x(); |
| 736 int y = screen_point.y() - mouse_offset_.y(); | 736 int y = screen_point.y() - mouse_offset_.y(); |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 930 // bounds of the dragged tab before performing the drag/drop related | 930 // bounds of the dragged tab before performing the drag/drop related |
| 931 // calculations. We mirror the dragged bounds because we determine the | 931 // calculations. We mirror the dragged bounds because we determine the |
| 932 // position of each tab on the tab strip by calling GetBounds() (without the | 932 // position of each tab on the tab strip by calling GetBounds() (without the |
| 933 // mirroring transformation flag) which effectively means that even though | 933 // mirroring transformation flag) which effectively means that even though |
| 934 // the tabs are rendered from right to left, the code performs the | 934 // the tabs are rendered from right to left, the code performs the |
| 935 // calculation as if the tabs are laid out from left to right. Mirroring the | 935 // calculation as if the tabs are laid out from left to right. Mirroring the |
| 936 // dragged bounds adjusts the coordinates of the tab we are dragging so that | 936 // dragged bounds adjusts the coordinates of the tab we are dragging so that |
| 937 // it uses the same orientation used by the tabs on the tab strip. | 937 // it uses the same orientation used by the tabs on the tab strip. |
| 938 gfx::Rect adjusted_bounds(dragged_bounds); | 938 gfx::Rect adjusted_bounds(dragged_bounds); |
| 939 adjusted_bounds.set_x( | 939 adjusted_bounds.set_x( |
| 940 attached_tabstrip_->MirroredLeftPointForRect(adjusted_bounds)); | 940 attached_tabstrip_->GetMirroredXForRect(adjusted_bounds)); |
| 941 | 941 |
| 942 int index = -1; | 942 int index = -1; |
| 943 for (int i = 0; i < attached_tabstrip_->tab_count(); ++i) { | 943 for (int i = 0; i < attached_tabstrip_->tab_count(); ++i) { |
| 944 const gfx::Rect& ideal_bounds = attached_tabstrip_->ideal_bounds(i); | 944 const gfx::Rect& ideal_bounds = attached_tabstrip_->ideal_bounds(i); |
| 945 if (attached_tabstrip_->type() == BaseTabStrip::HORIZONTAL_TAB_STRIP) { | 945 if (attached_tabstrip_->type() == BaseTabStrip::HORIZONTAL_TAB_STRIP) { |
| 946 gfx::Rect left_half = ideal_bounds; | 946 gfx::Rect left_half = ideal_bounds; |
| 947 left_half.set_width(left_half.width() / 2); | 947 left_half.set_width(left_half.width() / 2); |
| 948 gfx::Rect right_half = ideal_bounds; | 948 gfx::Rect right_half = ideal_bounds; |
| 949 right_half.set_width(ideal_bounds.width() - left_half.width()); | 949 right_half.set_width(ideal_bounds.width() - left_half.width()); |
| 950 right_half.set_x(left_half.right()); | 950 right_half.set_x(left_half.right()); |
| (...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1349 #else | 1349 #else |
| 1350 NOTIMPLEMENTED(); | 1350 NOTIMPLEMENTED(); |
| 1351 #endif | 1351 #endif |
| 1352 } | 1352 } |
| 1353 } | 1353 } |
| 1354 | 1354 |
| 1355 TabStripModel* DraggedTabController::GetModel(BaseTabStrip* tabstrip) const { | 1355 TabStripModel* DraggedTabController::GetModel(BaseTabStrip* tabstrip) const { |
| 1356 return static_cast<BrowserTabStripController*>(tabstrip->controller())-> | 1356 return static_cast<BrowserTabStripController*>(tabstrip->controller())-> |
| 1357 model(); | 1357 model(); |
| 1358 } | 1358 } |
| OLD | NEW |