blob: 421f47ca8effbdc33797dbe084fc46bc51245b83 [file] [log] [blame]
// 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) => ();
};
}