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_AURA_CLIENT_FOCUS_CHANGE_OBSERVER_H_ 6 #define UI_AURA_CLIENT_FOCUS_CHANGE_OBSERVER_H_ 7 8 #include "ui/aura/aura_export.h" 9 10 namespace aura { 11 class Window; 12 namespace client { 13 14 // TODO(beng): this interface will be OBSOLETE by FocusChangeEvent. 15 class AURA_EXPORT FocusChangeObserver { 16 public: 17 // Called when focus moves from |lost_focus| to |gained_focus|. 18 virtual void OnWindowFocused(Window* gained_focus, Window* lost_focus) = 0; 19 20 protected: 21 virtual ~FocusChangeObserver() {} 22 }; 23 24 AURA_EXPORT FocusChangeObserver* GetFocusChangeObserver(Window* window); 25 AURA_EXPORT void SetFocusChangeObserver( 26 Window* window, 27 FocusChangeObserver* focus_change_observer); 28 29 30 } // namespace client 31 } // namespace aura 32 33 #endif // UI_AURA_CLIENT_FOCUS_CHANGE_OBSERVER_H_ 34