Class Overview
An Element represents one item within an 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 single float value (equivalent to a float in a
 kernel)
- A four-element float vector (equivalent to a float4 in a
 kernel)
- An unsigned 32-bit integer (equivalent to an unsigned int in
 a kernel)
- A single signed 8-bit integer (equivalent to a char in a
 kernel)
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 and a Element.DataKind. The DataType encodes C type
 information of an Element, while the DataKind encodes how that Element should
 be interpreted by a Sampler. Note that Allocation objects with DataKind USER cannot be used as input for a
 Sampler. In general, Allocation objects that are intended for use with a
 Sampler should use bitmap-derived Elements such
 as RGBA_8888(RenderScript) or android.renderscript.
 
 Developer Guides
 For more information about creating an application that uses RenderScript, read the
 RenderScript developer guide.
  
 
Summary
| 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 | 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 was deprecated
      in API level 16.
    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. | 
| [Expand] Inherited Methods | 
|---|
|  From class
  android.renderscript.BaseObj 
  
   
    
    
	 
    
        | synchronized
            
            
            
            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() Invoked when the garbage collector has detected that this instance is no longer reachable. |  
        | 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 o) Compares this instance with the specified object and indicates if they
 are equal. |  
        | void | finalize() Invoked when the garbage collector has detected that this instance is no longer reachable. |  
        | final
            
            
            Class<?> | getClass() Returns the unique instance of  Class that represents this
 object's class. |  
        | int | hashCode() Returns an integer hash code for this object. |  
        | final
            
            
            void | notify() Causes a thread which is waiting on this object's monitor (by means of
 calling one of the wait()methods) to be woken up. |  
        | final
            
            
            void | notifyAll() Causes all threads which are waiting on this object's monitor (by means
 of calling one of the wait()methods) to be woken up. |  
        | String | toString() Returns a string containing a concise, human-readable description of this
 object. |  
        | final
            
            
            void | wait() Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object. |  
        | final
            
            
            void | wait(long millis, int nanos) Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object or until the
 specified timeout expires. |  
        | final
            
            
            void | wait(long millis) Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object or until the
 specified timeout expires. |  | 
Public Methods
 
    
      
    
      
  Utility function for returning an Element containing a single Boolean.
      Parameters
      
        
          | rs | Context to which the element will belong. | 
      
   
  
     
 
 
    
      
    
      
  Utility function for returning an Element containing a single SIGNED_8.
      Parameters
      
        
          | rs | Context to which the element will belong. | 
      
   
  
     
 
 
    
      
    
      
  
      This method was deprecated
      in API level 16.
    use MATRIX_4X4
  
  
     
 
 
    
      
    
      
  Utility function for returning an Element containing a single UNSIGNED_8.
      Parameters
      
        
          | rs | Context to which the element will belong. | 
      
   
  
     
 
 
    
      
    
      
  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 | The context associated with the new Element. | 
        
          | dt | The DataType for the new element. | 
        
          | dk | The DataKind to specify the mapping of each component in the
           DataType. | 
      
   
  
     
 
 
    
      
    
      
  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 | The context associated with the new Element. | 
        
          | dt | The DataType for the new Element. | 
        
          | size | Vector size for the new Element.  Range 2-4 inclusive
             supported. | 
      
   
  
     
 
 
    
      
        public 
         
         
         
         
        int
      
      getBytesSize
      ()
    
      
    
 
 
    
      
        public 
         
         
         
         
        Element
      
      getSubElement
      (int index)
    
      
    
      
  For complex elements, this function will return the
 sub-element at index
      Parameters
      
        
          | index | index of the sub-element to return | 
      
   
  
      Returns
      - sub-element in this element at given index
 
     
 
 
    
      
        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 | index of the sub-element | 
      
   
  
      Returns
      - array size of sub-element in this element at given index
 
     
 
 
    
      
        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
      - number of sub-elements in this element
 
     
 
 
    
      
        public 
         
         
         
         
        String
      
      getSubElementName
      (int index)
    
      
    
      
  For complex elements, this function will return the
 sub-element name at index
      Parameters
      
        
          | index | index of the sub-element | 
      
   
  
      Returns
      - sub-element in this element at given index
 
     
 
 
    
      
        public 
         
         
         
         
        int
      
      getSubElementOffsetBytes
      (int index)
    
      
    
      
  This function specifies the location of a sub-element within
 the element
      Parameters
      
        
          | index | index of the sub-element | 
      
   
  
      Returns
      - offset in bytes of sub-element in this element at given index
 
     
 
 
    
      
        public 
         
         
         
         
        int
      
      getVectorSize
      ()
    
      
    
      
  Returns the number of vector components. 2 for float2, 4 for
 float4, etc.
 
 
 
    
      
        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 | The Element to check compatibility with. | 
      
   
  
      Returns
      - boolean true if the Elements are compatible, otherwise false.
 
     
 
 
    
      
        public 
         
         
         
         
        boolean
      
      isComplex
      ()
    
      
    
      
  Return if a element is too complex for use as a data source for a Mesh or
 a Program.