OverlayProperties


public final class OverlayProperties
extends Object implements Parcelable

java.lang.Object
   ↳ android.hardware.OverlayProperties


Provides supported overlay properties of the device.

Hardware overlay is a technique to composite different buffers directly to the screen using display hardware rather than the GPU. The system compositor is able to assign any content managed by a SurfaceControl onto a hardware overlay if possible. Applications may be interested in the display hardware capabilities exposed by this class as a hint to determine if their SurfaceControl tree is power-efficient and performant.

Summary

Inherited constants

Fields

public static final Creator<OverlayProperties> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean isCombinationSupported(int dataspace, int format)

Indicates that hardware composition of a buffer encoded with the provided DataSpace and ERROR(HardwareBuffer.Format/android.hardware.HardwareBuffer.Format HardwareBuffer.Format) is supported on the device.

boolean isMixedColorSpacesSupported()

Indicates that hardware composition of two or more overlays with different colorspaces is supported on the device.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

public static final Creator<OverlayProperties> CREATOR

Public methods

describeContents

public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

isCombinationSupported

public boolean isCombinationSupported (int dataspace, 
                int format)

Indicates that hardware composition of a buffer encoded with the provided DataSpace and ERROR(HardwareBuffer.Format/android.hardware.HardwareBuffer.Format HardwareBuffer.Format) is supported on the device.

Parameters
dataspace int: Value is either 0 or a combination of DataSpace.DATASPACE_UNKNOWN, DataSpace.DATASPACE_SCRGB_LINEAR, DataSpace.DATASPACE_SRGB, DataSpace.DATASPACE_SCRGB, DataSpace.DATASPACE_DISPLAY_P3, DataSpace.DATASPACE_BT2020_HLG, DataSpace.DATASPACE_BT2020_PQ, DataSpace.DATASPACE_ADOBE_RGB, DataSpace.DATASPACE_JFIF, DataSpace.DATASPACE_BT601_625, DataSpace.DATASPACE_BT601_525, DataSpace.DATASPACE_BT2020, DataSpace.DATASPACE_BT709, DataSpace.DATASPACE_DCI_P3, and DataSpace.DATASPACE_SRGB_LINEAR

format int: Value is HardwareBuffer.RGBA_8888, HardwareBuffer.RGBA_FP16, HardwareBuffer.RGBA_1010102, HardwareBuffer.RGBX_8888, HardwareBuffer.RGB_888, HardwareBuffer.RGB_565, HardwareBuffer.BLOB, HardwareBuffer.YCBCR_420_888, HardwareBuffer.D_16, HardwareBuffer.D_24, HardwareBuffer.DS_24UI8, HardwareBuffer.D_FP32, HardwareBuffer.DS_FP32UI8, HardwareBuffer.S_UI8, HardwareBuffer.YCBCR_P010, HardwareBuffer.R_8, HardwareBuffer.R_16, HardwareBuffer.RG_1616, or HardwareBuffer.RGBA_10101010

Returns
boolean True if the device can support efficiently compositing the content described by the dataspace and format. False if GPU composition fallback is otherwise required.

isMixedColorSpacesSupported

public boolean isMixedColorSpacesSupported ()

Indicates that hardware composition of two or more overlays with different colorspaces is supported on the device.

Returns
boolean True if the device can support mixed colorspaces efficiently, false if GPU composition fallback is otherwise required.

writeToParcel

public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES