summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-04 00:17:14 +0000
committerjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-04 00:17:14 +0000
commit515b91fb5073d5341c6b5d9fb67274ddcb15f51c (patch)
tree9833bbe8eff2de19cf7de9e0f8404c5c8c385f1d /chrome
parent6fa21d04082f0ec4416be6095d6cc12011cc4050 (diff)
downloadchromium_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.cc30
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) {