| // Copyright 2015 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. |
| |
| [DartPackage="mojo_services"] |
| module mojo; |
| |
| import "gpu/public/interfaces/context_provider.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 the last entry in |frame|'s |
| // |passes| list (aka the root pass). |
| // |
| // 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 produced by |
| // |context_provider|. Any resources submitted to the display will be |
| // returned via the |returner|, if supplied. |
| Create(ContextProvider context_provider, |
| ResourceReturner? returner, |
| Display& display_request); |
| }; |
| |