Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / ui / aura / client / activation_change_observer.h
blob38fa39ce575f48fd98e73a73bac0564dcc34a247
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.
5 #ifndef UI_AURA_CLIENT_ACTIVATION_CHANGE_OBSERVER_H_
6 #define UI_AURA_CLIENT_ACTIVATION_CHANGE_OBSERVER_H_
8 #include "ui/aura/aura_export.h"
10 namespace aura {
11 class Window;
13 namespace client {
15 class AURA_EXPORT ActivationChangeObserver {
16 public:
17 // Called when |active| gains focus, or there is no active window
18 // (|active| is NULL in this case.) |old_active| refers to the
19 // previous active window or NULL if there was no previously active
20 // window.
21 virtual void OnWindowActivated(Window* gained_active,
22 Window* lost_active) = 0;
24 protected:
25 virtual ~ActivationChangeObserver() {}
28 // Gets/Sets the ActivationChangeObserver for a specific window. This observer
29 // is notified after the ActivationClient notifies all registered observers.
30 AURA_EXPORT void SetActivationChangeObserver(
31 Window* window,
32 ActivationChangeObserver* observer);
33 AURA_EXPORT ActivationChangeObserver* GetActivationChangeObserver(
34 Window* window);
36 } // namespace client
37 } // namespace aura
39 #endif // UI_AURA_CLIENT_ACTIVATION_CHANGE_OBSERVER_H_