| // 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. |
| |
| import "mojo/services/public/interfaces/geometry/geometry.mojom" |
| import "mojo/services/public/interfaces/gpu/command_buffer.mojom" |
| import "mojo/services/public/interfaces/input_events/input_events.mojom" |
| import "mojo/services/public/interfaces/surfaces/surface_id.mojom" |
| |
| module mojo { |
| |
| [Client=NativeViewportClient] |
| interface NativeViewport { |
| // TODO(sky): having a create function is awkward. Should there be a factory |
| // to create the NativeViewport that takes the size? |
| Create(Size size) => (uint64 native_viewport_id); |
| Show(); |
| Hide(); |
| Close(); |
| SetSize(Size size); |
| SubmittedFrame(SurfaceId surface_id); |
| }; |
| |
| interface NativeViewportClient { |
| // OnSizeChanged() is sent at least once after the callback from Create() is |
| // called. |
| OnSizeChanged(Size size); |
| OnDestroyed(); |
| OnEvent(Event event) => (); |
| }; |
| |
| } |