Index: ui/display/mojo/native_display_delegate.mojom |
diff --git a/ui/display/mojo/native_display_delegate.mojom b/ui/display/mojo/native_display_delegate.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8a6ac594c77359c8bd60c0a362433ef74f6a906d |
--- /dev/null |
+++ b/ui/display/mojo/native_display_delegate.mojom |
@@ -0,0 +1,51 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module display.mojom; |
+ |
+import "ui/display/mojo/display_constants.mojom"; |
+import "ui/display/mojo/display_mode.mojom"; |
+import "ui/display/mojo/display_snapshot_mojo.mojom"; |
+import "ui/display/mojo/gamma_ramp_rgb_entry.mojom"; |
+import "ui/gfx/geometry/mojo/geometry.mojom"; |
+ |
+// Corresponds to display::NativeDisplayObserver. |
+interface NativeDisplayObserver { |
+ OnConfigurationChanged(); |
+}; |
+ |
+// Corresponds to display::NativeDisplayDelegate. This only implements |
+// functionality that is used by Ozone DRM. |
+interface NativeDisplayDelegate { |
+ // Initializes and registers the observer. |
+ Initialize(NativeDisplayObserver observer); |
+ |
+ // Take control of the displays from any other controlling process. |
+ TakeDisplayControl() => (bool result); |
+ |
+ // Let others control the displays. |
+ RelinquishDisplayControl() => (bool result); |
+ |
+ // Queries for a list of fresh displays. |
+ GetDisplays() => (array<DisplaySnapshotMojo> snapshots); |
+ |
+ // Configures the display represented by |display_id| to use |mode| and |
+ // positions the display to |origin| in the framebuffer. |mode| can be null, |
+ // which represents disabling the display. |
+ Configure(int64 display_id, |
+ DisplayMode mode, |
+ gfx.mojom.Point origin) => (bool status); |
+ |
+ // Gets HDCP state of output. |
+ GetHDCPState(int64 display_id) => (bool status, HDCPState state); |
+ |
+ // Sets HDCP state of output. |
+ SetHDCPState(int64 display_id, HDCPState state) => (bool status); |
+ |
+ // Set the gamma tables and correction matrix for |display_id|. |
+ SetColorCorrection(int64 display_id, |
+ array<GammaRampRGBEntry> degamma_lut, |
+ array<GammaRampRGBEntry> gamma_lut, |
+ array<float> correction_matrix); |
+}; |