# Print output for @column tags ?> SurfaceControl - Android SDK | Android Developers

Most visited

Recently visited

SurfaceControl

public final class SurfaceControl
extends Object implements Parcelable

java.lang.Object
   ↳ 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

class SurfaceControl.Builder

Builder class for SurfaceControl objects. 

class SurfaceControl.Transaction

An atomic set of changes to a set of SurfaceControl. 

Inherited constants

Fields

public static final Creator<SurfaceControl> CREATOR

Public methods

int describeContents()

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

boolean isValid()

Check whether this instance points to a valid layer with the system-compositor.

void readFromParcel(Parcel in)
void release()

Release the local reference to the server-side surface.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

public static final Creator<SurfaceControl> 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

isValid

public boolean isValid ()

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()).

Returns
boolean Whether this SurfaceControl is valid.

readFromParcel

public void readFromParcel (Parcel in)

Parameters
in Parcel

release

public void release ()

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

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written.

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