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 "chrome/browser/ui/views/tabs/dragged_tab_view.h" | 5 #include "chrome/browser/ui/views/tabs/dragged_tab_view.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "chrome/browser/ui/views/tabs/native_view_photobooth.h" | 8 #include "chrome/browser/ui/views/tabs/native_view_photobooth.h" |
9 #include "third_party/skia/include/core/SkShader.h" | 9 #include "third_party/skia/include/core/SkShader.h" |
10 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 // On RTL locales, a dragged tab (when it is not attached to a tab strip) | 73 // On RTL locales, a dragged tab (when it is not attached to a tab strip) |
74 // is rendered using a right-to-left orientation so we should calculate the | 74 // is rendered using a right-to-left orientation so we should calculate the |
75 // window position differently. | 75 // window position differently. |
76 gfx::Size ps = GetPreferredSize(); | 76 gfx::Size ps = GetPreferredSize(); |
77 x = screen_point.x() + ScaleValue(mouse_tab_offset_.x() - ps.width()); | 77 x = screen_point.x() + ScaleValue(mouse_tab_offset_.x() - ps.width()); |
78 } else { | 78 } else { |
79 x = screen_point.x() - ScaleValue(mouse_tab_offset_.x()); | 79 x = screen_point.x() - ScaleValue(mouse_tab_offset_.x()); |
80 } | 80 } |
81 int y = screen_point.y() - ScaleValue(mouse_tab_offset_.y()); | 81 int y = screen_point.y() - ScaleValue(mouse_tab_offset_.y()); |
82 | 82 |
83 #if defined(OS_WIN) && !defined(USE_AURA) | |
84 double scale = gfx::win::GetDeviceScaleFactor(); | |
85 x = static_cast<int>(scale * screen_point.x()); | |
86 y = static_cast<int>(scale * screen_point.y()); | |
87 // TODO(beng): make this cross-platform | |
88 int show_flags = container_->IsVisible() ? SWP_NOZORDER : SWP_SHOWWINDOW; | |
89 SetWindowPos(container_->GetNativeView(), HWND_TOP, x, y, 0, 0, | |
90 SWP_NOSIZE | SWP_NOACTIVATE | show_flags); | |
91 #else | |
92 gfx::Rect bounds = container_->GetWindowBoundsInScreen(); | 83 gfx::Rect bounds = container_->GetWindowBoundsInScreen(); |
93 container_->SetBounds(gfx::Rect(x, y, bounds.width(), bounds.height())); | 84 container_->SetBounds(gfx::Rect(x, y, bounds.width(), bounds.height())); |
94 if (!container_->IsVisible()) | 85 if (!container_->IsVisible()) |
95 container_->Show(); | 86 container_->Show(); |
96 #endif | |
97 } | 87 } |
98 | 88 |
99 void DraggedTabView::Update() { | 89 void DraggedTabView::Update() { |
100 SchedulePaint(); | 90 SchedulePaint(); |
101 } | 91 } |
102 | 92 |
103 /////////////////////////////////////////////////////////////////////////////// | 93 /////////////////////////////////////////////////////////////////////////////// |
104 // DraggedTabView, views::View overrides: | 94 // DraggedTabView, views::View overrides: |
105 | 95 |
106 void DraggedTabView::OnPaint(gfx::Canvas* canvas) { | 96 void DraggedTabView::OnPaint(gfx::Canvas* canvas) { |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 } | 172 } |
183 | 173 |
184 gfx::Size DraggedTabView::PreferredContainerSize() { | 174 gfx::Size DraggedTabView::PreferredContainerSize() { |
185 gfx::Size ps = GetPreferredSize(); | 175 gfx::Size ps = GetPreferredSize(); |
186 return gfx::Size(ScaleValue(ps.width()), ScaleValue(ps.height())); | 176 return gfx::Size(ScaleValue(ps.width()), ScaleValue(ps.height())); |
187 } | 177 } |
188 | 178 |
189 int DraggedTabView::ScaleValue(int value) { | 179 int DraggedTabView::ScaleValue(int value) { |
190 return static_cast<int>(value * kScalingFactor); | 180 return static_cast<int>(value * kScalingFactor); |
191 } | 181 } |
OLD | NEW |