Supervised user whitelists: Cleanup
[chromium-blink-merge.git] / ui / display / chromeos / display_layout_manager.h
blob068f118f0345df7d3ee770e80fb31fbb6d624fcc
1 // Copyright 2015 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.
5 #ifndef UI_DISPLAY_CHROMEOS_DISPLAY_LAYOUT_MANAGER_H_
6 #define UI_DISPLAY_CHROMEOS_DISPLAY_LAYOUT_MANAGER_H_
8 #include <vector>
10 #include "third_party/cros_system_api/dbus/service_constants.h"
11 #include "ui/display/chromeos/display_configurator.h"
12 #include "ui/display/types/display_constants.h"
14 namespace ui {
16 struct DisplayConfigureRequest;
17 class DisplaySnapshot;
19 class DisplayLayoutManager {
20 public:
21 virtual ~DisplayLayoutManager() {}
23 virtual DisplayConfigurator::SoftwareMirroringController*
24 GetSoftwareMirroringController() const = 0;
26 virtual DisplayConfigurator::StateController* GetStateController() const = 0;
28 // Returns the current display state.
29 virtual MultipleDisplayState GetDisplayState() const = 0;
31 // Returns the current power state.
32 virtual chromeos::DisplayPowerState GetPowerState() const = 0;
34 // Based on the given |displays|, display state and power state, it will
35 // create display configuration requests which will then be used to
36 // configure the hardware. The requested configuration is stored in
37 // |requests| and |framebuffer_size|.
38 virtual bool GetDisplayLayout(const std::vector<DisplaySnapshot*>& displays,
39 MultipleDisplayState new_display_state,
40 chromeos::DisplayPowerState new_power_state,
41 std::vector<DisplayConfigureRequest>* requests,
42 gfx::Size* framebuffer_size) const = 0;
44 virtual std::vector<DisplaySnapshot*> GetDisplayStates() const = 0;
46 virtual bool IsMirroring() const = 0;
49 } // namespace ui
51 #endif // UI_DISPLAY_CHROMEOS_DISPLAY_LAYOUT_MANAGER_H_