summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs/dragged_tab_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/tabs/dragged_tab_view.cc')
-rw-r--r--chrome/browser/views/tabs/dragged_tab_view.cc56
1 files changed, 25 insertions, 31 deletions
diff --git a/chrome/browser/views/tabs/dragged_tab_view.cc b/chrome/browser/views/tabs/dragged_tab_view.cc
index 6e3fead..5b43500 100644
--- a/chrome/browser/views/tabs/dragged_tab_view.cc
+++ b/chrome/browser/views/tabs/dragged_tab_view.cc
@@ -63,9 +63,8 @@ void DraggedTabView::MoveTo(const gfx::Point& screen_point) {
// On RTL locales, a dragged tab (when it is not attached to a tab strip)
// is rendered using a right-to-left orientation so we should calculate the
// window position differently.
- CSize ps;
- GetPreferredSize(&ps);
- x = screen_point.x() - ScaleValue(ps.cx) + mouse_tab_offset_.x() +
+ gfx::Size ps = GetPreferredSize();
+ x = screen_point.x() - ScaleValue(ps.width()) + mouse_tab_offset_.x() +
ScaleValue(
renderer_->MirroredXCoordinateInsideView(mouse_tab_offset_.x()));
} else {
@@ -150,30 +149,26 @@ void DraggedTabView::Paint(ChromeCanvas* canvas) {
}
void DraggedTabView::Layout() {
- CSize ps;
- GetPreferredSize(&ps);
if (attached_) {
- renderer_->SetBounds(CRect(0, 0, ps.cx, ps.cy));
+ renderer_->SetBounds(gfx::Point(), GetPreferredSize());
} else {
int left = 0;
if (UILayoutIsRightToLeft())
- left = ps.cx - attached_tab_size_.width();
+ left = GetPreferredSize().width() - attached_tab_size_.width();
renderer_->SetBounds(CRect(left, 0, left + attached_tab_size_.width(),
attached_tab_size_.height()));
}
}
-void DraggedTabView::GetPreferredSize(CSize* out) {
- DCHECK(out);
- if (attached_) {
- *out = attached_tab_size_.ToSIZE();
- } else {
- int width = std::max(attached_tab_size_.width(), contents_size_.width()) +
- kTwiceDragFrameBorderSize;
- int height = attached_tab_size_.height() + kDragFrameBorderSize +
- contents_size_.height();
- *out = CSize(width, height);
- }
+gfx::Size DraggedTabView::GetPreferredSize() {
+ if (attached_)
+ return attached_tab_size_;
+
+ int width = std::max(attached_tab_size_.width(), contents_size_.width()) +
+ kTwiceDragFrameBorderSize;
+ int height = attached_tab_size_.height() + kDragFrameBorderSize +
+ contents_size_.height();
+ return gfx::Size(width, height);
}
////////////////////////////////////////////////////////////////////////////////
@@ -184,21 +179,20 @@ void DraggedTabView::PaintAttachedTab(ChromeCanvas* canvas) {
}
void DraggedTabView::PaintDetachedView(ChromeCanvas* canvas) {
- CSize ps;
- GetPreferredSize(&ps);
- ChromeCanvas scale_canvas(ps.cx, ps.cy, false);
+ gfx::Size ps = GetPreferredSize();
+ ChromeCanvas scale_canvas(ps.width(), ps.height(), false);
SkBitmap& bitmap_device = const_cast<SkBitmap&>(
scale_canvas.getTopPlatformDevice().accessBitmap(true));
bitmap_device.eraseARGB(0, 0, 0, 0);
scale_canvas.FillRectInt(kDraggedTabBorderColor, 0,
attached_tab_size_.height() - kDragFrameBorderSize,
- ps.cx, ps.cy - attached_tab_size_.height());
+ ps.width(), ps.height() - attached_tab_size_.height());
int image_x = kDragFrameBorderSize;
int image_y = attached_tab_size_.height();
- int image_w = ps.cx - kTwiceDragFrameBorderSize;
+ int image_w = ps.width() - kTwiceDragFrameBorderSize;
int image_h =
- ps.cy - kTwiceDragFrameBorderSize - attached_tab_size_.height();
+ ps.height() - kTwiceDragFrameBorderSize - attached_tab_size_.height();
scale_canvas.FillRectInt(SK_ColorBLACK, image_x, image_y, image_w, image_h);
photobooth_->PaintScreenshotIntoCanvas(
&scale_canvas,
@@ -206,7 +200,7 @@ void DraggedTabView::PaintDetachedView(ChromeCanvas* canvas) {
renderer_->ProcessPaint(&scale_canvas);
SkIRect subset;
- subset.set(0, 0, ps.cx, ps.cy);
+ subset.set(0, 0, ps.width(), ps.height());
SkBitmap mipmap = scale_canvas.ExtractBitmap();
mipmap.buildMipMap(true);
@@ -226,16 +220,16 @@ void DraggedTabView::PaintDetachedView(ChromeCanvas* canvas) {
SkRect rc;
rc.fLeft = 0;
rc.fTop = 0;
- rc.fRight = SkIntToScalar(ps.cx);
- rc.fBottom = SkIntToScalar(ps.cy);
+ rc.fRight = SkIntToScalar(ps.width());
+ rc.fBottom = SkIntToScalar(ps.height());
canvas->drawRect(rc, paint);
}
void DraggedTabView::ResizeContainer() {
- CSize ps;
- GetPreferredSize(&ps);
- SetWindowPos(container_->GetHWND(), HWND_TOPMOST, 0, 0, ScaleValue(ps.cx),
- ScaleValue(ps.cy), SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
+ gfx::Size ps = GetPreferredSize();
+ SetWindowPos(container_->GetHWND(), HWND_TOPMOST, 0, 0,
+ ScaleValue(ps.width()), ScaleValue(ps.height()),
+ SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
}
int DraggedTabView::ScaleValue(int value) {