summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-16 18:17:47 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-16 18:17:47 +0000
commit80f8b9f5cf620c37e9d1408a114dc90699584d89 (patch)
tree9e2f5fcacbb18cd86690bc47e0d22ea8f10ac317 /chrome/browser/views/tabs
parentf377cebc8bb25bb9f6708adbfda567a95c296642 (diff)
downloadchromium_src-80f8b9f5cf620c37e9d1408a114dc90699584d89.zip
chromium_src-80f8b9f5cf620c37e9d1408a114dc90699584d89.tar.gz
chromium_src-80f8b9f5cf620c37e9d1408a114dc90699584d89.tar.bz2
Make View::SetBounds take a const gfx::Rect& instead of a const CRect&
Make View::DidChangeBounds call Layout by default, eliminating this function from most places. http://crbug.com/2186 Review URL: http://codereview.chromium.org/7429 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3471 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tabs')
-rw-r--r--chrome/browser/views/tabs/dragged_tab_controller.cc7
-rw-r--r--chrome/browser/views/tabs/dragged_tab_view.cc7
-rw-r--r--chrome/browser/views/tabs/tab_renderer.cc31
-rw-r--r--chrome/browser/views/tabs/tab_renderer.h1
-rw-r--r--chrome/browser/views/tabs/tab_strip.cc15
-rw-r--r--chrome/browser/views/tabs/tab_strip.h1
6 files changed, 22 insertions, 40 deletions
diff --git a/chrome/browser/views/tabs/dragged_tab_controller.cc b/chrome/browser/views/tabs/dragged_tab_controller.cc
index b174dc8..cdbcd98 100644
--- a/chrome/browser/views/tabs/dragged_tab_controller.cc
+++ b/chrome/browser/views/tabs/dragged_tab_controller.cc
@@ -727,10 +727,9 @@ gfx::Rect DraggedTabController::GetViewScreenBounds(
ChromeViews::View* view) const {
gfx::Point view_topleft;
ChromeViews::View::ConvertPointToScreen(view, &view_topleft);
- CRect view_screen_bounds;
- view->GetLocalBounds(&view_screen_bounds, true);
- view_screen_bounds.OffsetRect(view_topleft.ToPOINT());
- return gfx::Rect(view_screen_bounds);
+ gfx::Rect view_screen_bounds = view->GetLocalBounds(true);
+ view_screen_bounds.Offset(view_topleft.x(), view_topleft.y());
+ return view_screen_bounds;
}
int DraggedTabController::NormalizeIndexToAttachedTabStrip(int index) const {
diff --git a/chrome/browser/views/tabs/dragged_tab_view.cc b/chrome/browser/views/tabs/dragged_tab_view.cc
index 2c326ba..ecbcadc 100644
--- a/chrome/browser/views/tabs/dragged_tab_view.cc
+++ b/chrome/browser/views/tabs/dragged_tab_view.cc
@@ -150,13 +150,14 @@ void DraggedTabView::Paint(ChromeCanvas* canvas) {
void DraggedTabView::Layout() {
if (attached_) {
- renderer_->SetBounds(gfx::Point(), GetPreferredSize());
+ gfx::Size prefsize = GetPreferredSize();
+ renderer_->SetBounds(0, 0, prefsize.width(), prefsize.height());
} else {
int left = 0;
if (UILayoutIsRightToLeft())
left = GetPreferredSize().width() - attached_tab_size_.width();
- renderer_->SetBounds(CRect(left, 0, left + attached_tab_size_.width(),
- attached_tab_size_.height()));
+ renderer_->SetBounds(left, 0, left + attached_tab_size_.width(),
+ attached_tab_size_.height());
}
}
diff --git a/chrome/browser/views/tabs/tab_renderer.cc b/chrome/browser/views/tabs/tab_renderer.cc
index 876c57e..99548a0 100644
--- a/chrome/browser/views/tabs/tab_renderer.cc
+++ b/chrome/browser/views/tabs/tab_renderer.cc
@@ -439,15 +439,10 @@ void TabRenderer::Paint(ChromeCanvas* canvas) {
}
void TabRenderer::Layout() {
- CRect lb;
- GetLocalBounds(&lb, false);
- if (lb.IsRectEmpty())
+ gfx::Rect lb = GetLocalBounds(false);
+ if (lb.IsEmpty())
return;
-
- lb.left += kLeftPadding;
- lb.top += kTopPadding;
- lb.bottom -= kBottomPadding;
- lb.right -= kRightPadding;
+ lb.Inset(kLeftPadding, kTopPadding, kRightPadding, kBottomPadding);
// First of all, figure out who is tallest.
int content_height = GetContentHeight();
@@ -456,17 +451,17 @@ void TabRenderer::Layout() {
showing_icon_ = ShouldShowIcon();
if (showing_icon_) {
int favicon_top = kTopPadding + (content_height - kFaviconSize) / 2;
- favicon_bounds_.SetRect(lb.left, favicon_top, kFaviconSize, kFaviconSize);
+ favicon_bounds_.SetRect(lb.x(), favicon_top, kFaviconSize, kFaviconSize);
} else {
- favicon_bounds_.SetRect(lb.left, lb.top, 0, 0);
+ favicon_bounds_.SetRect(lb.x(), lb.y(), 0, 0);
}
// Size the download icon.
showing_download_icon_ = data_.show_download_icon;
if (showing_download_icon_) {
- int icon_top = kTopPadding + (content_height - download_icon_height) / 2;
- download_icon_bounds_.SetRect(lb.Width() - download_icon_width, icon_top,
- download_icon_width, download_icon_height);
+ int icon_top = kTopPadding + (content_height - download_icon_height) / 2;
+ download_icon_bounds_.SetRect(lb.width() - download_icon_width, icon_top,
+ download_icon_width, download_icon_height);
}
// Size the Close button.
@@ -476,7 +471,7 @@ void TabRenderer::Layout() {
kTopPadding + kCloseButtonVertFuzz +
(content_height - close_button_height) / 2;
// If the ratio of the close button size to tab width exceeds the maximum.
- close_button_->SetBounds(lb.Width() + kCloseButtonHorzFuzz,
+ close_button_->SetBounds(lb.width() + kCloseButtonHorzFuzz,
close_button_top, close_button_width,
close_button_height);
close_button_->SetVisible(true);
@@ -502,7 +497,7 @@ void TabRenderer::Layout() {
title_width = std::max(close_button_->x() -
kTitleCloseButtonSpacing - title_left, 0);
} else {
- title_width = std::max(lb.Width() - title_left, 0);
+ title_width = std::max(lb.width() - title_left, 0);
}
if (data_.show_download_icon)
title_width = std::max(title_width - download_icon_width, 0);
@@ -521,12 +516,6 @@ void TabRenderer::Layout() {
download_icon_bounds_.set_x(MirroredLeftPointForRect(download_icon_bounds_));
}
-void TabRenderer::DidChangeBounds(const CRect& previous,
- const CRect& current) {
- Layout();
-}
-
-
void TabRenderer::OnMouseEntered(const ChromeViews::MouseEvent& e) {
hover_animation_->SetTweenType(SlideAnimation::EASE_OUT);
hover_animation_->Show();
diff --git a/chrome/browser/views/tabs/tab_renderer.h b/chrome/browser/views/tabs/tab_renderer.h
index 1c0a9f5..a956b1b 100644
--- a/chrome/browser/views/tabs/tab_renderer.h
+++ b/chrome/browser/views/tabs/tab_renderer.h
@@ -74,7 +74,6 @@ class TabRenderer : public ChromeViews::View,
// Overridden from ChromeViews::View:
virtual void Paint(ChromeCanvas* canvas);
virtual void Layout();
- virtual void DidChangeBounds(const CRect& previous, const CRect& current);
virtual void OnMouseEntered(const ChromeViews::MouseEvent& event);
virtual void OnMouseExited(const ChromeViews::MouseEvent& event);
diff --git a/chrome/browser/views/tabs/tab_strip.cc b/chrome/browser/views/tabs/tab_strip.cc
index c4e1371..f487074 100644
--- a/chrome/browser/views/tabs/tab_strip.cc
+++ b/chrome/browser/views/tabs/tab_strip.cc
@@ -633,10 +633,6 @@ void TabStrip::PaintChildren(ChromeCanvas* canvas) {
newtab_button_->ProcessPaint(canvas);
}
-void TabStrip::DidChangeBounds(const CRect& prev, const CRect& curr) {
- Layout();
-}
-
// Overridden to support automation. See automation_proxy_uitest.cc.
ChromeViews::View* TabStrip::GetViewByID(int view_id) const {
if (GetTabCount() > 0) {
@@ -1235,17 +1231,16 @@ void TabStrip::ResizeLayoutTabs() {
}
bool TabStrip::IsCursorInTabStripZone() {
- CRect bounds;
- GetLocalBounds(&bounds, true);
- gfx::Point tabstrip_topleft(bounds.TopLeft());
+ gfx::Rect bounds = GetLocalBounds(true);
+ gfx::Point tabstrip_topleft(bounds.origin());
View::ConvertPointToScreen(this, &tabstrip_topleft);
- bounds.MoveToXY(tabstrip_topleft.ToPOINT());
- bounds.bottom += kTabStripAnimationVSlop;
+ bounds.set_origin(tabstrip_topleft);
+ bounds.set_height(bounds.height() + kTabStripAnimationVSlop);
CPoint cursor_point;
GetCursorPos(&cursor_point);
- return !!bounds.PtInRect(cursor_point);
+ return bounds.Contains(cursor_point.x, cursor_point.y);
}
void TabStrip::AddMessageLoopObserver() {
diff --git a/chrome/browser/views/tabs/tab_strip.h b/chrome/browser/views/tabs/tab_strip.h
index b00268db..3f464a8 100644
--- a/chrome/browser/views/tabs/tab_strip.h
+++ b/chrome/browser/views/tabs/tab_strip.h
@@ -98,7 +98,6 @@ class TabStrip : public ChromeViews::View,
// ChromeViews::View overrides:
virtual void PaintChildren(ChromeCanvas* canvas);
- virtual void DidChangeBounds(const CRect& previous, const CRect& current);
virtual ChromeViews::View* GetViewByID(int id) const;
virtual void Layout();
virtual gfx::Size GetPreferredSize();