// 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 ui.ozone.mojom; import "ui/gfx/geometry/mojo/geometry.mojom"; import "ui/gfx/mojo/buffer_types.mojom"; import "ui/gfx/mojo/overlay_transform.mojom"; // ui::OverlayStatus enum OverlayStatus { OVERLAY_STATUS_PENDING, OVERLAY_STATUS_ABLE, OVERLAY_STATUS_NOT, }; struct OverlaySurfaceCandidate { // Transformation to apply to layer during composition. gfx.mojom.OverlayTransform transform; // Format of the buffer to composite. gfx.mojom.BufferFormat format; // Size of the buffer, in pixels. gfx.mojom.Size buffer_size; // Rect on the display to position the overlay to. Input rectangle may // not have integer coordinates, but when accepting for overlay, must // be modified by CheckOverlaySupport to output integer values. gfx.mojom.RectF display_rect; // Crop within the buffer to be placed inside |display_rect|. gfx.mojom.RectF crop_rect; // Clip rect in the target content space after composition. gfx.mojom.Rect clip_rect; // If the quad is clipped after composition. bool is_clipped; // Stacking order of the overlay plane relative to the main surface, // which is 0. Signed to allow for "underlays". int32 plane_z_order = 0; // To be modified by the implementer if this candidate can go into // an overlay. bool overlay_handled; };