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