| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/views/frame/opaque_non_client_view.h" | 5 #include "chrome/browser/views/frame/opaque_non_client_view.h" |
| 6 | 6 |
| 7 #include "chrome/browser/views/frame/browser_view.h" | 7 #include "chrome/browser/views/frame/browser_view.h" |
| 8 #include "chrome/browser/views/tabs/tab_strip.h" | 8 #include "chrome/browser/views/tabs/tab_strip.h" |
| 9 #include "chrome/common/gfx/chrome_font.h" | 9 #include "chrome/common/gfx/chrome_font.h" |
| 10 #include "chrome/common/gfx/path.h" | 10 #include "chrome/common/gfx/path.h" |
| (...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 return 0; | 662 return 0; |
| 663 return frame_->IsMaximized() ? | 663 return frame_->IsMaximized() ? |
| 664 GetSystemMetrics(SM_CXSIZEFRAME) : kFrameBorderThickness; | 664 GetSystemMetrics(SM_CXSIZEFRAME) : kFrameBorderThickness; |
| 665 } | 665 } |
| 666 | 666 |
| 667 int OpaqueNonClientView::TopResizeHeight() const { | 667 int OpaqueNonClientView::TopResizeHeight() const { |
| 668 return FrameBorderThickness() - kTopResizeAdjust; | 668 return FrameBorderThickness() - kTopResizeAdjust; |
| 669 } | 669 } |
| 670 | 670 |
| 671 int OpaqueNonClientView::NonClientBorderThickness() const { | 671 int OpaqueNonClientView::NonClientBorderThickness() const { |
| 672 // In maximized mode, we don't show a client edge. | 672 // When we fill the screen, we don't show a client edge. |
| 673 return FrameBorderThickness() + | 673 return FrameBorderThickness() + |
| 674 ((frame_->IsMaximized() || browser_view_->IsFullscreen()) ? | 674 (browser_view_->CanCurrentlyResize() ? kClientEdgeThickness : 0); |
| 675 0 : kClientEdgeThickness); | |
| 676 } | 675 } |
| 677 | 676 |
| 678 int OpaqueNonClientView::NonClientTopBorderHeight() const { | 677 int OpaqueNonClientView::NonClientTopBorderHeight() const { |
| 679 if (frame_->window_delegate()->ShouldShowWindowTitle()) { | 678 if (frame_->window_delegate()->ShouldShowWindowTitle()) { |
| 680 int title_top_spacing, title_thickness; | 679 int title_top_spacing, title_thickness; |
| 681 return TitleCoordinates(&title_top_spacing, &title_thickness); | 680 return TitleCoordinates(&title_top_spacing, &title_thickness); |
| 682 } | 681 } |
| 683 | 682 |
| 684 return FrameBorderThickness() + | 683 return FrameBorderThickness() + (browser_view_->CanCurrentlyResize() ? |
| 685 ((frame_->IsMaximized() || browser_view_->IsFullscreen()) ? | 684 kNonClientRestoredExtraThickness : 0); |
| 686 0 : kNonClientRestoredExtraThickness); | |
| 687 } | 685 } |
| 688 | 686 |
| 689 int OpaqueNonClientView::UnavailablePixelsAtBottomOfNonClientHeight() const { | 687 int OpaqueNonClientView::UnavailablePixelsAtBottomOfNonClientHeight() const { |
| 690 // Tricky: When a toolbar is edging the titlebar, it not only draws its own | 688 // Tricky: When a toolbar is edging the titlebar, it not only draws its own |
| 691 // shadow and client edge, but an extra, light "shadow" pixel as well, which | 689 // shadow and client edge, but an extra, light "shadow" pixel as well, which |
| 692 // is treated as available space. Thus the nonclient area actually _fails_ to | 690 // is treated as available space. Thus the nonclient area actually _fails_ to |
| 693 // include some available pixels, leading to a negative number here. | 691 // include some available pixels, leading to a negative number here. |
| 694 if (browser_view_->IsToolbarVisible()) | 692 if (browser_view_->IsToolbarVisible()) |
| 695 return -kFrameShadowThickness; | 693 return -kFrameShadowThickness; |
| 696 | 694 |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1063 } | 1061 } |
| 1064 | 1062 |
| 1065 // static | 1063 // static |
| 1066 void OpaqueNonClientView::InitAppWindowResources() { | 1064 void OpaqueNonClientView::InitAppWindowResources() { |
| 1067 static bool initialized = false; | 1065 static bool initialized = false; |
| 1068 if (!initialized) { | 1066 if (!initialized) { |
| 1069 title_font_ = win_util::GetWindowTitleFont(); | 1067 title_font_ = win_util::GetWindowTitleFont(); |
| 1070 initialized = true; | 1068 initialized = true; |
| 1071 } | 1069 } |
| 1072 } | 1070 } |
| OLD | NEW |