Index: mojo/services/surfaces/public/interfaces/display.mojom |
diff --git a/mojo/services/surfaces/public/interfaces/display.mojom b/mojo/services/surfaces/public/interfaces/display.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..08e2106211eb1be4bac2f1163730e3370ed0349d |
--- /dev/null |
+++ b/mojo/services/surfaces/public/interfaces/display.mojom |
@@ -0,0 +1,36 @@ |
+// Copyright 2014 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 mojo; |
+ |
+import "gpu/public/interfaces/command_buffer.mojom"; |
+import "gpu/public/interfaces/gpu.mojom"; |
+import "gpu/public/interfaces/viewport_parameter_listener.mojom"; |
+import "surfaces/public/interfaces/surfaces.mojom"; |
+ |
+interface Display { |
+ // Submits a new frame to the display to be drawn when possible. The callback |
+ // will be run after the frame has been issued to the display but possibly |
+ // before the frame is actually visible. |
+ // |
+ // The Display will be resized to the size of |frame|'s root pass. |
qsr
2015/02/20 11:25:47
Does pass has a specific meaning in this context?
jamesr
2015/02/20 22:01:05
mojo.Pass is a mojom type and |frame| has a field
|
+ // |
+ // Any resources submitted in the frame will be returned via the |
+ // ResourceReturner associated with the Display at construction time. |
+ SubmitFrame(Frame frame) => (); |
+}; |
+ |
+// DisplayFactory creates new Display instances. |
+interface DisplayFactory { |
+ // Create associates a Display that will draw to contexts associated with |
+ // |context_provider|. The display will try to stay in sync with the |
+ // vsync parameters from |viewport_parameter_listener|, if supplied. Any |
+ // resources submitted to the display will be returned via the |returner|, if |
+ // supplied. |
+ Create(ContextProvider context_provider, |
+ ViewportParameterListener? viewport_parameter_listener, |
+ ResourceReturner? returner, |
+ Display& display_request); |
+}; |
+ |