SurfaceControl
class SurfaceControl : Parcelable
| kotlin.Any | |
| ↳ | android.view.SurfaceControl | 
Handle to an on-screen Surface managed by the system compositor. The SurfaceControl is a combination of a buffer source, and metadata about how to display the buffers. By constructing a Surface from this SurfaceControl you can submit buffers to be composited. Using SurfaceControl.Transaction you can manipulate various properties of how the buffer will be displayed on-screen. SurfaceControl's are arranged into a scene-graph like hierarchy, and as such any SurfaceControl may have a parent. Geometric properties like transform, crop, and Z-ordering will be inherited from the parent, as if the child were content in the parents buffer stream.
Summary
| Nested classes | |
|---|---|
| Builder class for  | |
| Jank information to be fed back via  | |
| abstract | Listener interface to be informed about SurfaceFlinger's jank classification for a specific surface. | 
| Handle to a registered OnJankDatalistener. | |
| An atomic set of changes to a set of SurfaceControl. | |
| abstract | Interface to handle request to  | 
| Transaction stats given to the listener registered in  | |
| Threshold values that are sent with  | |
| Constants | |
|---|---|
| static Int | Identity transform. | 
| static Int | Mirror horizontally. | 
| static Int | Mirror vertically. | 
| static Int | Rotate 180 degrees clock-wise. | 
| static Int | Rotate 270 degrees clock-wise. | 
| static Int | Rotate 90 degrees clock-wise. | 
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int | |
| Boolean | isValid()Check whether this instance points to a valid layer with the system-compositor. | 
| Unit | readFromParcel(in: Parcel!) | 
| Unit | release()Release the local reference to the server-side surface. | 
| String | toString() | 
| Unit | writeToParcel(dest: Parcel, flags: Int) | 
| Properties | |
|---|---|
| static Parcelable.Creator<SurfaceControl!> | |
Constants
BUFFER_TRANSFORM_IDENTITY
static val BUFFER_TRANSFORM_IDENTITY: Int
Identity transform. These transforms that can be applied to buffers as they are displayed to a window.
Value: 0See Also
BUFFER_TRANSFORM_MIRROR_HORIZONTAL
static val BUFFER_TRANSFORM_MIRROR_HORIZONTAL: Int
Mirror horizontally. Can be combined with BUFFER_TRANSFORM_MIRROR_VERTICAL and BUFFER_TRANSFORM_ROTATE_90.
Value: 1BUFFER_TRANSFORM_MIRROR_VERTICAL
static val BUFFER_TRANSFORM_MIRROR_VERTICAL: Int
Mirror vertically. Can be combined with BUFFER_TRANSFORM_MIRROR_HORIZONTAL and BUFFER_TRANSFORM_ROTATE_90.
Value: 2BUFFER_TRANSFORM_ROTATE_180
static val BUFFER_TRANSFORM_ROTATE_180: Int
Rotate 180 degrees clock-wise. Cannot be combined with other transforms. Equivalent to (BUFFER_TRANSFORM_MIRROR_HORIZONTAL | BUFFER_TRANSFORM_MIRROR_VERTICAL).
Value: 3BUFFER_TRANSFORM_ROTATE_270
static val BUFFER_TRANSFORM_ROTATE_270: Int
Rotate 270 degrees clock-wise. Cannot be combined with other transforms. Equivalent to (BUFFER_TRANSFORM_ROTATE_180 | BUFFER_TRANSFORM_ROTATE_90).
Value: 7BUFFER_TRANSFORM_ROTATE_90
static val BUFFER_TRANSFORM_ROTATE_90: Int
Rotate 90 degrees clock-wise. Can be combined with BUFFER_TRANSFORM_MIRROR_HORIZONTAL and BUFFER_TRANSFORM_MIRROR_VERTICAL.
Value: 4Public methods
describeContents
fun describeContents(): Int
| Return | |
|---|---|
| Int | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0orandroid.os.Parcelable#CONTENTS_FILE_DESCRIPTOR | 
isValid
fun isValid(): Boolean
Check whether this instance points to a valid layer with the system-compositor. For example this may be false if construction failed, or the layer was released (release).
| Return | |
|---|---|
| Boolean | Whether this SurfaceControl is valid. | 
release
fun release(): Unit
Release the local reference to the server-side surface. The surface may continue to exist on-screen as long as its parent continues to exist. To explicitly remove a surface from the screen use Transaction.reparent with a null-parent. After release, isValid will return false and other methods will throw an exception. Always call release() when you're done with a SurfaceControl.
toString
fun toString(): String
| Return | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
| Parameters | |
|---|---|
| dest | Parcel: The Parcel in which the object should be written. This value cannot be null. | 
| flags | Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either0or a combination ofandroid.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
