// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library fuchsia.ui.viewsv1;

using fuchsia.ui.viewsv1token;
using fuchsia.mem;

// Defines an interface to take view snapshots.
[Discoverable]
interface ViewSnapshot {
  // TODO(SCN-1019): Use zx::eventpair instead of koid.
  // Takes a snapshot of a view and returns it in a callback.
  //
  // The |view_koid| identifies the view whose snapshot needs to be taken.
  //
  // The callback is invoked with the VMO buffer containing the snapshot.
  // If successful, the buffer size is non-zero, otherwise it is 0.
  1: TakeSnapshot(uint64 view_koid) ->
                  (fuchsia.mem.Buffer snapshot);
};
