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 11 namespace aura { 12 class Window; 13 } 14 15 namespace ash { 16 17 class 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. 22 struct 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|. 35 RootWindowSettings* InitRootWindowSettings(aura::Window* root); 36 37 // Returns the RootWindowSettings for |root|. 38 ASH_EXPORT RootWindowSettings* GetRootWindowSettings(aura::Window* root); 39 40 // const version of GetRootWindowSettings. 41 ASH_EXPORT const RootWindowSettings* 42 GetRootWindowSettings(const aura::Window* root); 43 44 } // namespace ash 45 46 #endif // ASH_ROOT_WINDOW_SETTINGS_H_ 47