OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ | 5 #ifndef UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ |
6 #define UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ | 6 #define UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ |
7 | 7 |
8 #include "ui/base/ui_base_types.h" | 8 #include "ui/base/ui_base_types.h" |
9 #include "ui/views/view_targeter_delegate.h" | 9 #include "ui/views/view_targeter_delegate.h" |
10 #include "ui/views/views_export.h" | 10 #include "ui/views/views_export.h" |
11 | 11 |
12 namespace gfx { | 12 namespace gfx { |
13 class Path; | 13 class Path; |
14 class Rect; | 14 class Rect; |
15 } | 15 } |
16 | 16 |
17 namespace views { | 17 namespace views { |
18 class View; | 18 class View; |
19 | 19 |
20 // Defines the default behaviour for hit-testing a rectangular region against | 20 // Defines the default behaviour for hit-testing a rectangular region against |
21 // the bounds of a View having a custom-shaped hit test mask. Views define | 21 // the bounds of a View having a custom-shaped hit test mask. Views define |
22 // such a mask by extending this class. | 22 // such a mask by extending this class. |
23 class VIEWS_EXPORT MaskedTargeterDelegate : public ViewTargeterDelegate { | 23 class VIEWS_EXPORT MaskedTargeterDelegate : public ViewTargeterDelegate { |
24 public: | 24 public: |
25 MaskedTargeterDelegate() {} | 25 MaskedTargeterDelegate() {} |
26 virtual ~MaskedTargeterDelegate() {} | 26 ~MaskedTargeterDelegate() override {} |
27 | 27 |
28 // Sets the hit-test mask for the view which implements this interface, | 28 // Sets the hit-test mask for the view which implements this interface, |
29 // in that view's local coordinate space. Returns whether a valid mask | 29 // in that view's local coordinate space. Returns whether a valid mask |
30 // has been set in |mask|. | 30 // has been set in |mask|. |
31 virtual bool GetHitTestMask(gfx::Path* mask) const = 0; | 31 virtual bool GetHitTestMask(gfx::Path* mask) const = 0; |
32 | 32 |
33 // ViewTargeterDelegate: | 33 // ViewTargeterDelegate: |
34 virtual bool DoesIntersectRect(const View* target, | 34 bool DoesIntersectRect(const View* target, |
35 const gfx::Rect& rect) const override; | 35 const gfx::Rect& rect) const override; |
36 | 36 |
37 private: | 37 private: |
38 DISALLOW_COPY_AND_ASSIGN(MaskedTargeterDelegate); | 38 DISALLOW_COPY_AND_ASSIGN(MaskedTargeterDelegate); |
39 }; | 39 }; |
40 | 40 |
41 } // namespace views | 41 } // namespace views |
42 | 42 |
43 #endif // UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ | 43 #endif // UI_VIEWS_MASKED_TARGETER_DELEGATE_H_ |
OLD | NEW |