• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef UI_WM_PUBLIC_ACTIVATION_DELEGATE_H_
6 #define UI_WM_PUBLIC_ACTIVATION_DELEGATE_H_
7 
8 #include "ui/aura/aura_export.h"
9 
10 namespace ui {
11 class Event;
12 }
13 
14 namespace aura {
15 class Window;
16 namespace client {
17 
18 // An interface implemented by an object that configures and responds to changes
19 // to a window's activation state.
20 class AURA_EXPORT ActivationDelegate {
21  public:
22   // Returns true if the window should be activated.
23   virtual bool ShouldActivate() const = 0;
24 
25  protected:
~ActivationDelegate()26   virtual ~ActivationDelegate() {}
27 };
28 
29 // Sets/Gets the ActivationDelegate on the Window. No ownership changes.
30 AURA_EXPORT void SetActivationDelegate(Window* window,
31                                        ActivationDelegate* delegate);
32 AURA_EXPORT ActivationDelegate* GetActivationDelegate(Window* window);
33 
34 }  // namespace client
35 }  // namespace aura
36 
37 #endif  // UI_WM_PUBLIC_ACTIVATION_DELEGATE_H_
38