Index: ui/display/chromeos/display_configurator.h |
diff --git a/ui/display/chromeos/display_configurator.h b/ui/display/chromeos/display_configurator.h |
index f13d7821d63ed0056a85c7d80704a9c65ce3ee36..5abbccb08ee65314a3f5a0498c6b3bf11a36845a 100644 |
--- a/ui/display/chromeos/display_configurator.h |
+++ b/ui/display/chromeos/display_configurator.h |
@@ -16,6 +16,7 @@ |
#include "base/observer_list.h" |
#include "base/timer/timer.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
+#include "ui/display/chromeos/configure_displays_task.h" |
#include "ui/display/display_export.h" |
#include "ui/display/types/display_constants.h" |
#include "ui/display/types/native_display_observer.h" |
@@ -94,6 +95,40 @@ class DISPLAY_EXPORT DisplayConfigurator : public NativeDisplayObserver { |
virtual bool SoftwareMirroringEnabled() const = 0; |
}; |
+ class DisplayLayoutManager { |
+ public: |
+ virtual ~DisplayLayoutManager() {} |
+ |
+ virtual SoftwareMirroringController* GetSoftwareMirroringController() |
+ const = 0; |
+ |
+ virtual StateController* GetStateController() const = 0; |
+ |
+ // Returns the current display state. |
+ virtual MultipleDisplayState GetDisplayState() const = 0; |
+ |
+ // Returns the current power state. |
+ virtual chromeos::DisplayPowerState GetPowerState() const = 0; |
+ |
+ // Parses the displays and adds |mirror_mode| and |selected_mode|. |
Daniel Erat
2014/12/11 23:34:07
the mirror_mode and selected_mode mentions seem co
|
+ // TODO(dnicoara): This operation doesn't depend on state and could be done |
+ // directly in |GetDisplayLayout()|. Though I need to make sure that there |
+ // are no uses for those fields outside DisplayConfigurator. |
+ virtual std::vector<DisplayState> ParseDisplays( |
+ const std::vector<DisplaySnapshot*>& displays) const = 0; |
+ |
+ // Based on the given |displays|, display state and power state, it will |
+ // create display configuration requests which will then be used to |
+ // configure the hardware. The requested configuration is stored in |
+ // |requests| and |framebuffer_size|. |
+ virtual bool GetDisplayLayout( |
+ const std::vector<DisplayState>& displays, |
+ MultipleDisplayState new_display_state, |
+ chromeos::DisplayPowerState new_power_state, |
+ std::vector<DisplayConfigureRequest>* requests, |
+ gfx::Size* framebuffer_size) const = 0; |
+ }; |
+ |
// Helper class used by tests. |
class TestApi { |
public: |