// 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.mem;

// Defines an interface to take view snapshots.
[Discoverable]
protocol 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.
    TakeSnapshot(uint64 view_koid)
        -> (fuchsia.mem.Buffer snapshot);
};
