diff options
author | jianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-04 00:17:14 +0000 |
---|---|---|
committer | jianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-04 00:17:14 +0000 |
commit | 515b91fb5073d5341c6b5d9fb67274ddcb15f51c (patch) | |
tree | 9833bbe8eff2de19cf7de9e0f8404c5c8c385f1d /chrome | |
parent | 6fa21d04082f0ec4416be6095d6cc12011cc4050 (diff) | |
download | chromium_src-515b91fb5073d5341c6b5d9fb67274ddcb15f51c.zip chromium_src-515b91fb5073d5341c6b5d9fb67274ddcb15f51c.tar.gz chromium_src-515b91fb5073d5341c6b5d9fb67274ddcb15f51c.tar.bz2 |
Refine panel UI looks on Windows: change bottom-left and bottom-right corners to be not rounded.
BUG=none
TEST=Manual test by launching panels and verify their UI looks
Review URL: http://codereview.chromium.org/8430040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/ui/panels/panel_browser_frame_view.cc | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/chrome/browser/ui/panels/panel_browser_frame_view.cc b/chrome/browser/ui/panels/panel_browser_frame_view.cc index 6e9eac7..5f883fc 100644 --- a/chrome/browser/ui/panels/panel_browser_frame_view.cc +++ b/chrome/browser/ui/panels/panel_browser_frame_view.cc @@ -34,7 +34,6 @@ #include "views/controls/label.h" #include "views/painter.h" #include "views/widget/widget_delegate.h" -#include "views/window/window_shape.h" #if !defined(OS_WIN) #include "views/window/hit_test.h" @@ -122,8 +121,8 @@ void LoadImageResources() { frame_edges.SetResources( IDR_WINDOW_TOP_LEFT_CORNER, IDR_WINDOW_TOP_CENTER, IDR_WINDOW_TOP_RIGHT_CORNER, IDR_WINDOW_RIGHT_SIDE, - IDR_WINDOW_BOTTOM_RIGHT_CORNER, IDR_WINDOW_BOTTOM_CENTER, - IDR_WINDOW_BOTTOM_LEFT_CORNER, IDR_WINDOW_LEFT_SIDE); + IDR_PANEL_BOTTOM_RIGHT_CORNER, IDR_WINDOW_BOTTOM_CENTER, + IDR_PANEL_BOTTOM_LEFT_CORNER, IDR_WINDOW_LEFT_SIDE); client_edges.SetResources( IDR_APP_TOP_LEFT, IDR_APP_TOP_CENTER, @@ -349,21 +348,34 @@ int PanelBrowserFrameView::NonClientHitTest(const gfx::Point& point) { void PanelBrowserFrameView::GetWindowMask(const gfx::Size& size, gfx::Path* window_mask) { - // For minimized panel, the window shape is rectangle with top-left and - // top-right corners rounded. + // For panel, the window shape is rectangle with top-left and top-right + // corners rounded. if (size.height() <= Panel::kMinimizedPanelHeight) { - window_mask->moveTo(0, 2); + // For minimize panel, we need to produce the window mask applicable to + // the 3-pixel lines. + window_mask->moveTo(0, SkIntToScalar(size.height())); window_mask->lineTo(0, 1); window_mask->lineTo(1, 0); window_mask->lineTo(SkIntToScalar(size.width()) - 1, 0); window_mask->lineTo(SkIntToScalar(size.width()), 1); - window_mask->lineTo(SkIntToScalar(size.width()), 2); + window_mask->lineTo(SkIntToScalar(size.width()), + SkIntToScalar(size.height())); + } else { + window_mask->moveTo(0, 3); + window_mask->lineTo(1, 2); + window_mask->lineTo(1, 1); + window_mask->lineTo(2, 1); + window_mask->lineTo(3, 0); + window_mask->lineTo(SkIntToScalar(size.width() - 3), 0); + window_mask->lineTo(SkIntToScalar(size.width() - 2), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 2); + window_mask->lineTo(SkIntToScalar(size.width()), 3); window_mask->lineTo(SkIntToScalar(size.width()), SkIntToScalar(size.height())); window_mask->lineTo(0, SkIntToScalar(size.height())); - return; } - views::GetDefaultWindowMask(size, window_mask); + window_mask->close(); } void PanelBrowserFrameView::EnableClose(bool enable) { |