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/frame/app_panel_browser_frame_view.h" | 5 #include "chrome/browser/ui/views/frame/app_panel_browser_frame_view.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "chrome/browser/tab_contents/tab_contents.h" | 9 #include "chrome/browser/tab_contents/tab_contents.h" |
10 #include "chrome/browser/ui/views/frame/browser_frame.h" | 10 #include "chrome/browser/ui/views/frame/browser_frame.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 int frame_component = | 149 int frame_component = |
150 frame_->GetWindow()->GetClientView()->NonClientHitTest(point); | 150 frame_->GetWindow()->GetClientView()->NonClientHitTest(point); |
151 | 151 |
152 // See if we're in the sysmenu region. (We check the ClientView first to be | 152 // See if we're in the sysmenu region. (We check the ClientView first to be |
153 // consistent with OpaqueBrowserFrameView; it's not really necessary here.) | 153 // consistent with OpaqueBrowserFrameView; it's not really necessary here.) |
154 gfx::Rect sysmenu_rect(IconBounds()); | 154 gfx::Rect sysmenu_rect(IconBounds()); |
155 // In maximized mode we extend the rect to the screen corner to take advantage | 155 // In maximized mode we extend the rect to the screen corner to take advantage |
156 // of Fitts' Law. | 156 // of Fitts' Law. |
157 if (frame_->GetWindow()->IsMaximized()) | 157 if (frame_->GetWindow()->IsMaximized()) |
158 sysmenu_rect.SetRect(0, 0, sysmenu_rect.right(), sysmenu_rect.bottom()); | 158 sysmenu_rect.SetRect(0, 0, sysmenu_rect.right(), sysmenu_rect.bottom()); |
159 sysmenu_rect.set_x(MirroredLeftPointForRect(sysmenu_rect)); | 159 sysmenu_rect.set_x(GetMirroredXForRect(sysmenu_rect)); |
160 if (sysmenu_rect.Contains(point)) | 160 if (sysmenu_rect.Contains(point)) |
161 return (frame_component == HTCLIENT) ? HTCLIENT : HTSYSMENU; | 161 return (frame_component == HTCLIENT) ? HTCLIENT : HTSYSMENU; |
162 | 162 |
163 if (frame_component != HTNOWHERE) | 163 if (frame_component != HTNOWHERE) |
164 return frame_component; | 164 return frame_component; |
165 | 165 |
166 // Then see if the point is within any of the window controls. | 166 // Then see if the point is within any of the window controls. |
167 if (close_button_->IsVisible() && | 167 if (close_button_->IsVisible() && |
168 close_button_->GetBounds(APPLY_MIRRORING_TRANSFORMATION).Contains(point)) | 168 close_button_->GetMirroredBounds().Contains(point)) |
169 return HTCLOSE; | 169 return HTCLOSE; |
170 | 170 |
171 int window_component = GetHTComponentForFrame(point, | 171 int window_component = GetHTComponentForFrame(point, |
172 NonClientBorderThickness(), NonClientBorderThickness(), | 172 NonClientBorderThickness(), NonClientBorderThickness(), |
173 kResizeAreaCornerSize, kResizeAreaCornerSize, | 173 kResizeAreaCornerSize, kResizeAreaCornerSize, |
174 frame_->GetWindow()->GetDelegate()->CanResize()); | 174 frame_->GetWindow()->GetDelegate()->CanResize()); |
175 // Fall back to the caption if no other component matches. | 175 // Fall back to the caption if no other component matches. |
176 return (window_component == HTNOWHERE) ? HTCAPTION : window_component; | 176 return (window_component == HTNOWHERE) ? HTCAPTION : window_component; |
177 } | 177 } |
178 | 178 |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 int edge_height = titlebar_bottom->height() - kClientEdgeThickness; | 397 int edge_height = titlebar_bottom->height() - kClientEdgeThickness; |
398 canvas->TileImageInt(*titlebar_bottom, 0, | 398 canvas->TileImageInt(*titlebar_bottom, 0, |
399 frame_->GetWindow()->GetClientView()->y() - edge_height, | 399 frame_->GetWindow()->GetClientView()->y() - edge_height, |
400 width(), edge_height); | 400 width(), edge_height); |
401 } | 401 } |
402 | 402 |
403 void AppPanelBrowserFrameView::PaintTitleBar(gfx::Canvas* canvas) { | 403 void AppPanelBrowserFrameView::PaintTitleBar(gfx::Canvas* canvas) { |
404 // The window icon is painted by the TabIconView. | 404 // The window icon is painted by the TabIconView. |
405 views::WindowDelegate* d = frame_->GetWindow()->GetDelegate(); | 405 views::WindowDelegate* d = frame_->GetWindow()->GetDelegate(); |
406 canvas->DrawStringInt(d->GetWindowTitle(), BrowserFrame::GetTitleFont(), | 406 canvas->DrawStringInt(d->GetWindowTitle(), BrowserFrame::GetTitleFont(), |
407 SK_ColorBLACK, MirroredLeftPointForRect(title_bounds_), title_bounds_.y(), | 407 SK_ColorBLACK, GetMirroredXForRect(title_bounds_), title_bounds_.y(), |
408 title_bounds_.width(), title_bounds_.height()); | 408 title_bounds_.width(), title_bounds_.height()); |
409 } | 409 } |
410 | 410 |
411 void AppPanelBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { | 411 void AppPanelBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { |
412 gfx::Rect client_area_bounds = CalculateClientAreaBounds(width(), height()); | 412 gfx::Rect client_area_bounds = CalculateClientAreaBounds(width(), height()); |
413 int client_area_top = client_area_bounds.y(); | 413 int client_area_top = client_area_bounds.y(); |
414 | 414 |
415 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 415 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
416 SkBitmap* top_left = rb.GetBitmapNamed(IDR_APP_TOP_LEFT); | 416 SkBitmap* top_left = rb.GetBitmapNamed(IDR_APP_TOP_LEFT); |
417 SkBitmap* top = rb.GetBitmapNamed(IDR_APP_TOP_CENTER); | 417 SkBitmap* top = rb.GetBitmapNamed(IDR_APP_TOP_CENTER); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 } | 498 } |
499 | 499 |
500 gfx::Rect AppPanelBrowserFrameView::CalculateClientAreaBounds(int width, | 500 gfx::Rect AppPanelBrowserFrameView::CalculateClientAreaBounds(int width, |
501 int height) const { | 501 int height) const { |
502 int top_height = NonClientTopBorderHeight(); | 502 int top_height = NonClientTopBorderHeight(); |
503 int border_thickness = NonClientBorderThickness(); | 503 int border_thickness = NonClientBorderThickness(); |
504 return gfx::Rect(border_thickness, top_height, | 504 return gfx::Rect(border_thickness, top_height, |
505 std::max(0, width - (2 * border_thickness)), | 505 std::max(0, width - (2 * border_thickness)), |
506 std::max(0, height - top_height - border_thickness)); | 506 std::max(0, height - top_height - border_thickness)); |
507 } | 507 } |
OLD | NEW |