// Copyright 2017 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. module viz.mojom; import "gpu/ipc/common/mailbox.mojom"; import "gpu/ipc/common/sync_token.mojom"; import "services/viz/public/interfaces/compositing/copy_output_result.mojom"; import "mojo/common/unguessable_token.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; // See components/viz/common/frame_sinks/copy_output_request.h. struct CopyOutputRequest { CopyOutputResultFormat result_format; // Set both to (1,1) for no scaling. Both must have positive X and Y values. gfx.mojom.Vector2d scale_from; gfx.mojom.Vector2d scale_to; mojo.common.mojom.UnguessableToken? source; gfx.mojom.Rect? area; // DEPRECATED: To be removed once tab capture is moved into VIZ. // http://crbug.com/754872 // If mailbox is present, then sync_token must also be. gpu.mojom.Mailbox? mailbox; gpu.mojom.SyncToken? sync_token; CopyOutputResultSender result_sender; }; // When the display compositor is ready to respond to the CopyOutputRequest, // it uses this interface to send back the result. interface CopyOutputResultSender { SendResult(CopyOutputResult result); };