1// Copyright 2013 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 ASH_ROOT_WINDOW_SETTINGS_H_ 6#define ASH_ROOT_WINDOW_SETTINGS_H_ 7 8#include "ash/ash_export.h" 9#include "base/basictypes.h" 10 11namespace aura { 12class Window; 13} 14 15namespace ash { 16 17class RootWindowController; 18 19// Per root window information should be stored here 20// instead of using plain aura root window property because 21// it can prevent mis-using on non root window. 22struct RootWindowSettings { 23 RootWindowSettings(); 24 25 // ID of the display associated with the root window. 26 int64 display_id; 27 28 // RootWindowController for the root window. This may be NULL 29 // for the root window used for mirroring. 30 RootWindowController* controller; 31}; 32 33// Initializes and returns RootWindowSettings for |root|. 34// It is owned by the |root|. 35RootWindowSettings* InitRootWindowSettings(aura::Window* root); 36 37// Returns the RootWindowSettings for |root|. 38ASH_EXPORT RootWindowSettings* GetRootWindowSettings(aura::Window* root); 39 40// const version of GetRootWindowSettings. 41ASH_EXPORT const RootWindowSettings* 42GetRootWindowSettings(const aura::Window* root); 43 44} // namespace ash 45 46#endif // ASH_ROOT_WINDOW_SETTINGS_H_ 47