blob: 28a65d9e4947369d7b7a424273df0faa85e47633 [file] [log] [blame]
// 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;
};