window_state_observer.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file.
44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef ASH_WM_WINDOW_STATE_OBSERVER_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define ASH_WM_WINDOW_STATE_OBSERVER_H_
74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "ash/wm/wm_types.h"
94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace ash {
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace wm {
124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class WindowState;
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class ASH_EXPORT WindowStateObserver {
154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public:
164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Called when the tracked_by_workspace has changed.
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void OnTrackedByWorkspaceChanged(
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      WindowState* window,
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      bool old_value) {}
204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Called when the window's show type has changed. This is different from
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // kWindowShowStatekey property change as this will be invoked when the window
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // gets left/right maximized, and auto positioned. |old_type| is the value
244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // before the change.
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void OnWindowShowTypeChanged(WindowState* window_state,
264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                                       WindowShowType old_type) {}
274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)};
284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace wm
304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace ash
314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // ASH_WM_WINDOW_STATE_OBSERVER_H_
33