15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_DISPLAY_DISPLAY_PREFERENCES_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_DISPLAY_DISPLAY_PREFERENCES_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "third_party/cros_system_api/dbus/service_constants.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class PrefRegistrySimple;
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace ash {
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct DisplayLayout;
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace gfx {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Display;
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Insets;
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromeos {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Registers the prefs associated with display settings and stored
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// into Local State.
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void RegisterDisplayLocalStatePrefs(PrefRegistrySimple* registry);
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Stores the current displays prefereces (both primary display id and
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// dispay layout).
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void StoreDisplayPrefs();
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Sets the display layout for the current displays.
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochvoid SetCurrentDisplayLayout(const ash::DisplayLayout& layout);
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Load display preferences from Local Store. |first_run_after_boot| is used
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// determine if a certain preference should be applied at boot time or
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// restart.
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void LoadDisplayPreferences(bool first_run_after_boot);
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Stores the display layout for given display pairs for tests.
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void StoreDisplayLayoutPrefForTest(int64 id1,
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                   int64 id2,
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                   const ash::DisplayLayout& layout);
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Stores the given |power_state| for tests.
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void StoreDisplayPowerStateForTest(DisplayPowerState power_state);
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chromeos
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CHROME_BROWSER_CHROMEOS_DISPLAY_DISPLAY_PREFERENCES_H_
51