Index: ui/display/chromeos/display_configurator.h |
diff --git a/ui/display/chromeos/display_configurator.h b/ui/display/chromeos/display_configurator.h |
index 5a2b2d482f588ac404a1df659eeeef9d4ce54131..131cdd663332ab73ea436d729115ed161a08a6f2 100644 |
--- a/ui/display/chromeos/display_configurator.h |
+++ b/ui/display/chromeos/display_configurator.h |
@@ -14,10 +14,12 @@ |
#include "base/event_types.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/memory/scoped_vector.h" |
#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/timer/timer.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
+#include "ui/display/chromeos/display_snapshot_virtual.h" |
#include "ui/display/chromeos/query_content_protection_task.h" |
#include "ui/display/display_export.h" |
#include "ui/display/types/display_constants.h" |
@@ -38,6 +40,10 @@ class DisplaySnapshot; |
class NativeDisplayDelegate; |
class UpdateDisplayConfigurationTask; |
+namespace test { |
+class DisplayConfiguratorTest; |
+} // namespace test |
+ |
// This class interacts directly with the system display configurator. |
class DISPLAY_EXPORT DisplayConfigurator : public NativeDisplayObserver { |
public: |
@@ -269,7 +275,12 @@ class DISPLAY_EXPORT DisplayConfigurator : public NativeDisplayObserver { |
bool SetGammaRamp(int64_t display_id, |
const std::vector<GammaRampRGBEntry>& lut); |
+ // Enables/disables virtual display. |
+ int64_t AddVirtualDisplay(gfx::Size display_size); |
+ bool RemoveVirtualDisplay(int64_t display_id); |
+ |
private: |
+ friend class ui::test::DisplayConfiguratorTest; |
class DisplayLayoutManagerImpl; |
// Mapping a client to its protection request. |
@@ -421,6 +432,12 @@ class DISPLAY_EXPORT DisplayConfigurator : public NativeDisplayObserver { |
// Whether the displays are currently suspended. |
bool displays_suspended_; |
+ // Virtual display control. |
+ ScopedVector<DisplaySnapshot> virtual_display_snapshots_; |
+ |
+ // Last used virtual display id. |
+ int64_t last_virtual_display_id_ = 0; |
+ |
scoped_ptr<DisplayLayoutManager> layout_manager_; |
scoped_ptr<UpdateDisplayConfigurationTask> configuration_task_; |