Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Unified Diff: ui/display/chromeos/display_configurator.h

Issue 1456623002: Add support for virtual displays (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698