Element  |  API reference  |  Android Developers (original) (raw)


public class Element
` extends [BaseObj](/reference/android/renderscript/BaseObj) `


This class was deprecated in API level 31.
Renderscript has been deprecated in API level 31. Please refer to the migration guide for the proposed alternatives.

An Element represents one item within an [Allocation](/reference/android/renderscript/Allocation). An Element is roughly equivalent to a C type in a RenderScript kernel. Elements may be basic or complex. Some basic elements are

A complex element is roughly equivalent to a C struct and contains a number of basic or complex Elements. From Java code, a complex element contains a list of sub-elements and names that represents a particular data structure. Structs used in RS scripts are available to Java code by using the ScriptField_structname class that is reflected from a particular script.

Basic Elements are comprised of a [Element.DataType](/reference/android/renderscript/Element.DataType) and a [Element.DataKind](/reference/android/renderscript/Element.DataKind). The DataType encodes C type information of an Element, while the DataKind encodes how that Element should be interpreted by a [Sampler](/reference/android/renderscript/Sampler). Note that [Allocation](/reference/android/renderscript/Allocation) objects with DataKind [Element.DataKind.USER](/reference/android/renderscript/Element.DataKind#USER) cannot be used as input for a[Sampler](/reference/android/renderscript/Sampler). In general, [Allocation](/reference/android/renderscript/Allocation) objects that are intended for use with a[Sampler](/reference/android/renderscript/Sampler) should use bitmap-derived Elements such as [RGBA_8888(RenderScript)](/reference/android/renderscript/Element#RGBA%5F8888%28android.renderscript.RenderScript%29) or [android.renderscript](/reference/android/renderscript/package-summary).

Developer Guides

For more information about creating an application that uses RenderScript, read theRenderScript developer guide.

Summary

Nested classes
class Element.Builder Builder class for producing complex elements with matching field and name pairs.
Public methods
staticElement ALLOCATION(RenderScript rs)
staticElement A_8(RenderScript rs)
staticElement BOOLEAN(RenderScript rs) Utility function for returning an Element containing a single Boolean.
staticElement ELEMENT(RenderScript rs)
staticElement F16(RenderScript rs)
staticElement F16_2(RenderScript rs)
staticElement F16_3(RenderScript rs)
staticElement F16_4(RenderScript rs)
staticElement F32(RenderScript rs)
staticElement F32_2(RenderScript rs)
staticElement F32_3(RenderScript rs)
staticElement F32_4(RenderScript rs)
staticElement F64(RenderScript rs)
staticElement F64_2(RenderScript rs)
staticElement F64_3(RenderScript rs)
staticElement F64_4(RenderScript rs)
staticElement FONT(RenderScript rs)
staticElement I16(RenderScript rs)
staticElement I16_2(RenderScript rs)
staticElement I16_3(RenderScript rs)
staticElement I16_4(RenderScript rs)
staticElement I32(RenderScript rs)
staticElement I32_2(RenderScript rs)
staticElement I32_3(RenderScript rs)
staticElement I32_4(RenderScript rs)
staticElement I64(RenderScript rs)
staticElement I64_2(RenderScript rs)
staticElement I64_3(RenderScript rs)
staticElement I64_4(RenderScript rs)
staticElement I8(RenderScript rs) Utility function for returning an Element containing a single SIGNED_8.
staticElement I8_2(RenderScript rs)
staticElement I8_3(RenderScript rs)
staticElement I8_4(RenderScript rs)
staticElement MATRIX4X4(RenderScript rs) This method was deprecated in API level 16. use MATRIX_4X4
staticElement MATRIX_2X2(RenderScript rs)
staticElement MATRIX_3X3(RenderScript rs)
staticElement MATRIX_4X4(RenderScript rs)
staticElement MESH(RenderScript rs)
staticElement PROGRAM_FRAGMENT(RenderScript rs)
staticElement PROGRAM_RASTER(RenderScript rs)
staticElement PROGRAM_STORE(RenderScript rs)
staticElement PROGRAM_VERTEX(RenderScript rs)
staticElement RGBA_4444(RenderScript rs)
staticElement RGBA_5551(RenderScript rs)
staticElement RGBA_8888(RenderScript rs)
staticElement RGB_565(RenderScript rs)
staticElement RGB_888(RenderScript rs)
staticElement SAMPLER(RenderScript rs)
staticElement SCRIPT(RenderScript rs)
staticElement TYPE(RenderScript rs)
staticElement U16(RenderScript rs)
staticElement U16_2(RenderScript rs)
staticElement U16_3(RenderScript rs)
staticElement U16_4(RenderScript rs)
staticElement U32(RenderScript rs)
staticElement U32_2(RenderScript rs)
staticElement U32_3(RenderScript rs)
staticElement U32_4(RenderScript rs)
staticElement U64(RenderScript rs)
staticElement U64_2(RenderScript rs)
staticElement U64_3(RenderScript rs)
staticElement U64_4(RenderScript rs)
staticElement U8(RenderScript rs) Utility function for returning an Element containing a single UNSIGNED_8.
staticElement U8_2(RenderScript rs)
staticElement U8_3(RenderScript rs)
staticElement U8_4(RenderScript rs)
staticElement YUV(RenderScript rs)
staticElement createPixel(RenderScript rs, Element.DataType dt, Element.DataKind dk) Create a new pixel Element type.
staticElement createVector(RenderScript rs, Element.DataType dt, int size) Create a custom vector element of the specified DataType and vector size.
int getBytesSize()
Element.DataKind getDataKind()
Element.DataType getDataType()
Element getSubElement(int index) For complex elements, this function will return the sub-element at index
int getSubElementArraySize(int index) For complex elements, some sub-elements could be statically sized arrays.
int getSubElementCount() Elements could be simple, such as an int or a float, or a structure with multiple sub elements, such as a collection of floats, float2, float4.
String getSubElementName(int index) For complex elements, this function will return the sub-element name at index
int getSubElementOffsetBytes(int index) This function specifies the location of a sub-element within the element
int getVectorSize() Returns the number of vector components.
boolean isCompatible(Element e) Check if the current Element is compatible with another Element.
boolean isComplex() Return if a element is too complex for use as a data source for a Mesh or a Program.
Inherited methods
From class android.renderscript.BaseObj void destroy() Frees any native resources associated with this object. boolean equals(Object obj) Compare the current BaseObj with another BaseObj for equality. void finalize() Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. String getName() int hashCode() Calculates the hash code value for a BaseObj. void setName(String name) setName assigns a name to an object.
From class java.lang.Object Object clone() Creates and returns a copy of this object. boolean equals(Object obj) Indicates whether some other object is "equal to" this one. void finalize() Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. finalClass<?> getClass() Returns the runtime class of this Object. int hashCode() Returns a hash code value for the object. final void notify() Wakes up a single thread that is waiting on this object's monitor. final void notifyAll() Wakes up all threads that are waiting on this object's monitor. String toString() Returns a string representation of the object. final void wait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. final void wait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. final void wait() Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public methods

BOOLEAN

public static Element BOOLEAN (RenderScript rs)

Utility function for returning an Element containing a single Boolean.

Parameters
rs RenderScript: Context to which the element will belong.
Returns
Element Element

I8

public static Element I8 (RenderScript rs)

Utility function for returning an Element containing a single SIGNED_8.

Parameters
rs RenderScript: Context to which the element will belong.
Returns
Element Element

MATRIX4X4

public static Element MATRIX4X4 (RenderScript rs)

This method was deprecated in API level 16.
use MATRIX_4X4

Parameters
rs RenderScript
Returns
Element

U8

public static Element U8 (RenderScript rs)

Utility function for returning an Element containing a single UNSIGNED_8.

Parameters
rs RenderScript: Context to which the element will belong.
Returns
Element Element

createPixel

public static Element createPixel (RenderScript rs, Element.DataType dt, Element.DataKind dk)

Create a new pixel Element type. A matching DataType and DataKind must be provided. The DataType and DataKind must contain the same number of components. Vector size will be set to 1.

Parameters
rs RenderScript: The context associated with the new Element.
dt Element.DataType: The DataType for the new element.
dk Element.DataKind: The DataKind to specify the mapping of each component in the DataType.
Returns
Element Element

createVector

public static Element createVector (RenderScript rs, Element.DataType dt, int size)

Create a custom vector element of the specified DataType and vector size. DataKind will be set to USER. Only primitive types (FLOAT_32, FLOAT_64, SIGNED_8, SIGNED_16, SIGNED_32, SIGNED_64, UNSIGNED_8, UNSIGNED_16, UNSIGNED_32, UNSIGNED_64, BOOLEAN) are supported.

Parameters
rs RenderScript: The context associated with the new Element.
dt Element.DataType: The DataType for the new Element.
size int: Vector size for the new Element. Range 2-4 inclusive supported.
Returns
Element Element

getBytesSize

public int getBytesSize ()

Returns
int element size in bytes

getSubElement

public Element getSubElement (int index)

For complex elements, this function will return the sub-element at index

Parameters
index int: index of the sub-element to return
Returns
Element sub-element in this element at given index

getSubElementArraySize

public int getSubElementArraySize (int index)

For complex elements, some sub-elements could be statically sized arrays. This function will return the array size for sub-element at index

Parameters
index int: index of the sub-element
Returns
int array size of sub-element in this element at given index

getSubElementCount

public int getSubElementCount ()

Elements could be simple, such as an int or a float, or a structure with multiple sub elements, such as a collection of floats, float2, float4. This function returns zero for simple elements or the number of sub-elements otherwise.

Returns
int number of sub-elements in this element

getSubElementName

public String getSubElementName (int index)

For complex elements, this function will return the sub-element name at index

Parameters
index int: index of the sub-element
Returns
String sub-element in this element at given index

getSubElementOffsetBytes

public int getSubElementOffsetBytes (int index)

This function specifies the location of a sub-element within the element

Parameters
index int: index of the sub-element
Returns
int offset in bytes of sub-element in this element at given index

getVectorSize

public int getVectorSize ()

Returns the number of vector components. 2 for float2, 4 for float4, etc.

Returns
int element vector size

isCompatible

public boolean isCompatible (Element e)

Check if the current Element is compatible with another Element. Primitive Elements are compatible if they share the same underlying size and type (i.e. U8 is compatible with A_8). User-defined Elements must be equal in order to be compatible. This requires strict name equivalence for all sub-Elements (in addition to structural equivalence).

Parameters
e Element: The Element to check compatibility with.
Returns
boolean boolean true if the Elements are compatible, otherwise false.

isComplex

public boolean isComplex ()

Return if a element is too complex for use as a data source for a Mesh or a Program.

Returns
boolean boolean