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.
Nested classes |
class |
Element.Builder
Builder class for producing complex elements with matching field and name
pairs.
|
enum |
Element.DataKind
The special interpretation of the data if required.
|
enum |
Element.DataType
DataType represents the basic type information for a basic element.
|
Public methods |
static
Element
|
ALLOCATION(RenderScript rs)
|
static
Element
|
A_8(RenderScript rs)
|
static
Element
|
BOOLEAN(RenderScript rs)
Utility function for returning an Element containing a single Boolean.
|
static
Element
|
ELEMENT(RenderScript rs)
|
static
Element
|
F16(RenderScript rs)
|
static
Element
|
F16_2(RenderScript rs)
|
static
Element
|
F16_3(RenderScript rs)
|
static
Element
|
F16_4(RenderScript rs)
|
static
Element
|
F32(RenderScript rs)
|
static
Element
|
F32_2(RenderScript rs)
|
static
Element
|
F32_3(RenderScript rs)
|
static
Element
|
F32_4(RenderScript rs)
|
static
Element
|
F64(RenderScript rs)
|
static
Element
|
F64_2(RenderScript rs)
|
static
Element
|
F64_3(RenderScript rs)
|
static
Element
|
F64_4(RenderScript rs)
|
static
Element
|
FONT(RenderScript rs)
|
static
Element
|
I16(RenderScript rs)
|
static
Element
|
I16_2(RenderScript rs)
|
static
Element
|
I16_3(RenderScript rs)
|
static
Element
|
I16_4(RenderScript rs)
|
static
Element
|
I32(RenderScript rs)
|
static
Element
|
I32_2(RenderScript rs)
|
static
Element
|
I32_3(RenderScript rs)
|
static
Element
|
I32_4(RenderScript rs)
|
static
Element
|
I64(RenderScript rs)
|
static
Element
|
I64_2(RenderScript rs)
|
static
Element
|
I64_3(RenderScript rs)
|
static
Element
|
I64_4(RenderScript rs)
|
static
Element
|
I8(RenderScript rs)
Utility function for returning an Element containing a single SIGNED_8.
|
static
Element
|
I8_2(RenderScript rs)
|
static
Element
|
I8_3(RenderScript rs)
|
static
Element
|
I8_4(RenderScript rs)
|
static
Element
|
MATRIX4X4(RenderScript rs)
This method is deprecated.
use MATRIX_4X4
|
static
Element
|
MATRIX_2X2(RenderScript rs)
|
static
Element
|
MATRIX_3X3(RenderScript rs)
|
static
Element
|
MATRIX_4X4(RenderScript rs)
|
static
Element
|
MESH(RenderScript rs)
|
static
Element
|
PROGRAM_FRAGMENT(RenderScript rs)
|
static
Element
|
PROGRAM_RASTER(RenderScript rs)
|
static
Element
|
PROGRAM_STORE(RenderScript rs)
|
static
Element
|
PROGRAM_VERTEX(RenderScript rs)
|
static
Element
|
RGBA_4444(RenderScript rs)
|
static
Element
|
RGBA_5551(RenderScript rs)
|
static
Element
|
RGBA_8888(RenderScript rs)
|
static
Element
|
RGB_565(RenderScript rs)
|
static
Element
|
RGB_888(RenderScript rs)
|
static
Element
|
SAMPLER(RenderScript rs)
|
static
Element
|
SCRIPT(RenderScript rs)
|
static
Element
|
TYPE(RenderScript rs)
|
static
Element
|
U16(RenderScript rs)
|
static
Element
|
U16_2(RenderScript rs)
|
static
Element
|
U16_3(RenderScript rs)
|
static
Element
|
U16_4(RenderScript rs)
|
static
Element
|
U32(RenderScript rs)
|
static
Element
|
U32_2(RenderScript rs)
|
static
Element
|
U32_3(RenderScript rs)
|
static
Element
|
U32_4(RenderScript rs)
|
static
Element
|
U64(RenderScript rs)
|
static
Element
|
U64_2(RenderScript rs)
|
static
Element
|
U64_3(RenderScript rs)
|
static
Element
|
U64_4(RenderScript rs)
|
static
Element
|
U8(RenderScript rs)
Utility function for returning an Element containing a single UNSIGNED_8.
|
static
Element
|
U8_2(RenderScript rs)
|
static
Element
|
U8_3(RenderScript rs)
|
static
Element
|
U8_4(RenderScript rs)
|
static
Element
|
YUV(RenderScript rs)
|
static
Element
|
createPixel(RenderScript rs, Element.DataType dt, Element.DataKind dk)
Create a new pixel Element type.
|
static
Element
|
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.
|
final
Class<?>
|
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 timeout, int nanos)
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
|
final
void
|
wait(long timeout)
Causes the current thread to wait until either another thread invokes the
notify() method or the
notifyAll() method for this object, or a
specified amount of time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object.
|
|
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. |
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. |
MATRIX4X4
public static Element MATRIX4X4 (RenderScript rs)
This method is deprecated.
use MATRIX_4X4
Parameters |
rs |
RenderScript |
PROGRAM_FRAGMENT
public static Element PROGRAM_FRAGMENT (RenderScript rs)
Parameters |
rs |
RenderScript |
PROGRAM_RASTER
public static Element PROGRAM_RASTER (RenderScript rs)
Parameters |
rs |
RenderScript |
PROGRAM_VERTEX
public static Element PROGRAM_VERTEX (RenderScript rs)
Parameters |
rs |
RenderScript |
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. |
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. |
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. |
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.