| 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 MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ | 5 #ifndef MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ |
| 6 #define MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ | 6 #define MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ |
| 7 | 7 |
| 8 #include "mojo/services/public/cpp/view_manager/types.h" | 8 #include "mojo/services/public/cpp/view_manager/types.h" |
| 9 #include "mojo/services/public/cpp/view_manager/view.h" | 9 #include "mojo/services/public/cpp/view_manager/view.h" |
| 10 | 10 |
| 11 namespace mojo { | 11 namespace mojo { |
| 12 | 12 |
| 13 // Implemented by an object that establishes the rules about what can be | 13 // Implemented by an object that establishes the rules about what can be |
| 14 // focused or activated. | 14 // focused or activated. |
| 15 class FocusRules { | 15 class FocusRules { |
| 16 public: | 16 public: |
| 17 virtual ~FocusRules() {} | 17 virtual ~FocusRules() {} |
| 18 | 18 |
| 19 // Returns true if the children of |window| can be activated. |
| 20 virtual bool SupportsChildActivation(View* window) const = 0; |
| 21 |
| 19 // Returns true if |view| is a toplevel view. Whether or not a view | 22 // Returns true if |view| is a toplevel view. Whether or not a view |
| 20 // is considered toplevel is determined by a similar set of rules that | 23 // is considered toplevel is determined by a similar set of rules that |
| 21 // govern activation and focus. Not all toplevel views are activatable, | 24 // govern activation and focus. Not all toplevel views are activatable, |
| 22 // call CanActivateView() to determine if a view can be activated. | 25 // call CanActivateView() to determine if a view can be activated. |
| 23 virtual bool IsToplevelView(View* view) const = 0; | 26 virtual bool IsToplevelView(View* view) const = 0; |
| 24 // Returns true if |view| can be activated or focused. | 27 // Returns true if |view| can be activated or focused. |
| 25 virtual bool CanActivateView(View* view) const = 0; | 28 virtual bool CanActivateView(View* view) const = 0; |
| 26 // For CanFocusView(), null is supported, because null is a valid focusable | 29 // For CanFocusView(), null is supported, because null is a valid focusable |
| 27 // view (in the case of clearing focus). | 30 // view (in the case of clearing focus). |
| 28 virtual bool CanFocusView(View* view) const = 0; | 31 virtual bool CanFocusView(View* view) const = 0; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 53 // RootView. | 56 // RootView. |
| 54 // - it is being destroyed. | 57 // - it is being destroyed. |
| 55 // - it is being explicitly deactivated. | 58 // - it is being explicitly deactivated. |
| 56 // |ignore| cannot be null. | 59 // |ignore| cannot be null. |
| 57 virtual View* GetNextActivatableView(View* ignore) const = 0; | 60 virtual View* GetNextActivatableView(View* ignore) const = 0; |
| 58 }; | 61 }; |
| 59 | 62 |
| 60 } // namespace mojo | 63 } // namespace mojo |
| 61 | 64 |
| 62 #endif // MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ | 65 #endif // MOJO_SERIVCES_WINDOW_MANAGER_FOCUS_RULES_H_ |
| OLD | NEW |