diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-16 18:17:47 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-16 18:17:47 +0000 |
commit | 80f8b9f5cf620c37e9d1408a114dc90699584d89 (patch) | |
tree | 9e2f5fcacbb18cd86690bc47e0d22ea8f10ac317 /chrome/browser/views/tabs | |
parent | f377cebc8bb25bb9f6708adbfda567a95c296642 (diff) | |
download | chromium_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.cc | 7 | ||||
-rw-r--r-- | chrome/browser/views/tabs/dragged_tab_view.cc | 7 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_renderer.cc | 31 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_renderer.h | 1 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_strip.cc | 15 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_strip.h | 1 |
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(); |