Home | History | Annotate | Download | only in public
      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:
     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