Index: ui/views/window/non_client_view.h |
diff --git a/ui/views/window/non_client_view.h b/ui/views/window/non_client_view.h |
index 77181426418d18963c2f477782299695fd98b26b..bea9f5594c8e8ec6504ac200ddd037fc89ae48e8 100644 |
--- a/ui/views/window/non_client_view.h |
+++ b/ui/views/window/non_client_view.h |
@@ -6,6 +6,7 @@ |
#define UI_VIEWS_WINDOW_NON_CLIENT_VIEW_H_ |
#include "ui/views/view.h" |
+#include "ui/views/view_targeter_delegate.h" |
namespace gfx { |
class Path; |
@@ -22,7 +23,8 @@ class ClientView; |
// responds to events within the frame portions of the non-client area of a |
// window. This view does _not_ contain the ClientView, but rather is a sibling |
// of it. |
-class VIEWS_EXPORT NonClientFrameView : public View { |
+class VIEWS_EXPORT NonClientFrameView : public View, |
+ public ViewTargeterDelegate { |
public: |
// Internal class name. |
static const char kViewClassName[]; |
@@ -78,11 +80,14 @@ class VIEWS_EXPORT NonClientFrameView : public View { |
virtual void UpdateWindowIcon() = 0; |
virtual void UpdateWindowTitle() = 0; |
- // Overridden from View: |
- virtual bool HitTestRect(const gfx::Rect& rect) const OVERRIDE; |
+ // View: |
virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE; |
virtual const char* GetClassName() const OVERRIDE; |
+ // ViewTargeterDelegate: |
+ virtual bool DoesIntersectRect(const View* target, |
+ const gfx::Rect& rect) const OVERRIDE; |
+ |
protected: |
virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE; |
@@ -130,7 +135,7 @@ class VIEWS_EXPORT NonClientFrameView : public View { |
// implementations (e.g. during the switch from DWM/Aero-Glass to Vista Basic/ |
// Classic rendering). |
// |
-class VIEWS_EXPORT NonClientView : public View { |
+class VIEWS_EXPORT NonClientView : public View, public ViewTargeterDelegate { |
public: |
// Internal class name. |
static const char kViewClassName[]; |
@@ -212,7 +217,6 @@ class VIEWS_EXPORT NonClientView : public View { |
virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE; |
virtual const char* GetClassName() const OVERRIDE; |
- virtual views::View* GetEventHandlerForRect(const gfx::Rect& rect) OVERRIDE; |
virtual views::View* GetTooltipHandlerForPoint( |
const gfx::Point& point) OVERRIDE; |
@@ -222,6 +226,10 @@ class VIEWS_EXPORT NonClientView : public View { |
const ViewHierarchyChangedDetails& details) OVERRIDE; |
private: |
+ // ViewTargeterDelegate: |
+ virtual View* TargetForRect(View* root, |
+ const gfx::Rect& rect) OVERRIDE; |
+ |
// A ClientView object or subclass, responsible for sizing the contents view |
// of the window, hit testing and perhaps other tasks depending on the |
// implementation. |