summaryrefslogtreecommitdiffstats
path: root/chrome/views
diff options
context:
space:
mode:
authormad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-09 20:10:17 +0000
committermad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-09 20:10:17 +0000
commitc3826037cbcb22fe784a10589061eaf084818727 (patch)
tree58da3c893c97e0fd5fee5df93f3dc30db7b93a40 /chrome/views
parentb595ba77947ee0881ae8ce16ee92b47d1c48f10a (diff)
downloadchromium_src-c3826037cbcb22fe784a10589061eaf084818727.zip
chromium_src-c3826037cbcb22fe784a10589061eaf084818727.tar.gz
chromium_src-c3826037cbcb22fe784a10589061eaf084818727.tar.bz2
Add a new resizer corner.
To display a resize bitmap and handle the mouse interactions as requested in http://code.google.com/p/chromium/issues/detail?id=458. BUG=458 There are unfortunately two cases to handle and they must be handled separately. The first one is when there are no bottom shelf like the download bar, and the case where there is one. For the case without, we must draw on top of what we receive from WebKit, so we intercept the bitmap in RenderWidgetHostViewWin::OnPaint() so that we can draw the resize corner bitmap on top of it (taking into account whether we are in a right to left language or not). For the case where we have a bottom shelf, we use a dedicated view that we properly layout on top of the bottom shelf view (which takes care of handling the RTL language case for us). Same split for the mouse interactions. Without the bottom shelf, we must deal with it in RenderWidgetHostViewWin::OnMouseEvent() by sending the root window a WM_NCLBUTTONDOWN message with either HTBOTTOMRIGHT or HTBOTTOMLEFT (based on the RTL setting) and let the OS take care of the resizing. IF we have a bottom shelf, we must deal with the mouse interaction in BrowserView::NonClientHitTest() to either return HTBOTTOMRIGHT or HTBOTTOMLEFT (again, based on the RTL setting) and, again, let the OS take care of the resizing. More details here: http://code.google.com/p/chromium/wiki/BrowserViewResizer git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9408 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/views')
-rw-r--r--chrome/views/resize_corner.cc33
-rw-r--r--chrome/views/resize_corner.h28
-rw-r--r--chrome/views/views.vcproj8
3 files changed, 0 insertions, 69 deletions
diff --git a/chrome/views/resize_corner.cc b/chrome/views/resize_corner.cc
deleted file mode 100644
index 97925ca..0000000
--- a/chrome/views/resize_corner.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/views/resize_corner.h"
-
-#include <vssym32.h>
-
-#include "base/gfx/native_theme.h"
-#include "chrome/common/gfx/chrome_canvas.h"
-
-namespace views {
-
-ResizeCorner::ResizeCorner() {
-}
-
-ResizeCorner::~ResizeCorner() {
-}
-
-void ResizeCorner::Paint(ChromeCanvas* canvas) {
- // Paint the little handle.
- RECT widgetRect = { 0, 0, width(), height() };
- HDC hdc = canvas->beginPlatformPaint();
- gfx::NativeTheme::instance()->PaintStatusGripper(hdc,
- SP_GRIPPER,
- 0,
- 0,
- &widgetRect);
- canvas->endPlatformPaint();
-}
-
-} // namespace views
-
diff --git a/chrome/views/resize_corner.h b/chrome/views/resize_corner.h
deleted file mode 100644
index ed02216..0000000
--- a/chrome/views/resize_corner.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_VIEWS_RESIZE_CORNER_H__
-#define CHROME_VIEWS_RESIZE_CORNER_H__
-
-#include "chrome/views/view.h"
-
-namespace views {
-
-// Simple drawing of a resize corner. Has no functionality.
-class ResizeCorner : public View {
- public:
- ResizeCorner();
- virtual ~ResizeCorner();
-
- // View
- virtual void Paint(ChromeCanvas* canvas);
-
- private:
- DISALLOW_EVIL_CONSTRUCTORS(ResizeCorner);
-};
-
-} // namespace views
-
-#endif // CHROME_VIEWS_RESIZE_CORNER_H__
-
diff --git a/chrome/views/views.vcproj b/chrome/views/views.vcproj
index 6d5ce3d..9656303 100644
--- a/chrome/views/views.vcproj
+++ b/chrome/views/views.vcproj
@@ -466,14 +466,6 @@
>
</File>
<File
- RelativePath=".\resize_corner.cc"
- >
- </File>
- <File
- RelativePath=".\resize_corner.h"
- >
- </File>
- <File
RelativePath=".\root_view.cc"
>
</File>