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