1page.title=RenderScript Object Characteristics Functions 2 3@jd:body 4 5<div class='renderscript'> 6<h2>Overview</h2> 7<p> The functions below can be used to query the characteristics of an Allocation, Element, 8or Sampler object. These objects are created from Java. You can't create them from a 9script. 10</p> 11 12<p> <h5>Allocations:</h5> 13</p> 14 15<p> Allocations are the primary method used to pass data to and from RenderScript kernels. 16</p> 17 18<p> They are a structured collection of cells that can be used to store bitmaps, textures, 19arbitrary data points, etc. 20</p> 21 22<p> This collection of cells may have many dimensions (X, Y, Z, Array0, Array1, Array2, Array3), 23faces (for cubemaps), and level of details (for mipmapping). 24</p> 25 26<p> See the <a href='http://developer.android.com/reference/android/renderscript/Allocation.html'>android.renderscript.Allocation</a> for details on to create Allocations. 27</p> 28 29<p> <h5>Elements:</h5> 30</p> 31 32<p> The term "element" is used a bit ambiguously in RenderScript, as both type information 33for the cells of an Allocation and the instantiation of that type. For example:<ul> 34<li><a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> is a handle to a type specification, and</li> 35<li>In functions like <a href='rs_allocation_data.html#android_rs:rsGetElementAt'>rsGetElementAt</a>(), "element" means the instantiation of the type, 36 i.e. a cell of an Allocation.</li></ul> 37</p> 38 39<p> The functions below let you query the characteristics of the type specificiation. 40</p> 41 42<p> An Element can specify a simple data types as found in C, e.g. an integer, float, or 43boolean. It can also specify a handle to a RenderScript object. See <a href='rs_object_types.html#android_rs:rs_data_type'>rs_data_type</a> for 44a list of basic types. 45</p> 46 47<p> Elements can specify fixed size vector (of size 2, 3, or 4) versions of the basic types. 48Elements can be grouped together into complex Elements, creating the equivalent of 49C structure definitions. 50</p> 51 52<p> Elements can also have a kind, which is semantic information used to interpret pixel 53data. See <a href='rs_object_types.html#android_rs:rs_data_kind'>rs_data_kind</a>. 54</p> 55 56<p> When creating Allocations of common elements, you can simply use one of the many predefined 57Elements like <a href='http://developer.android.com/reference/android/renderscript/Element.html#F32_2(android.renderscript.RenderScript)'>F32_2</a>. 58</p> 59 60<p> To create complex Elements, use the <a href='http://developer.android.com/reference/android/renderscript/Element.Builder.html'>Element.Builder</a> Java class. 61</p> 62 63<p> <h5>Samplers:</h5> 64</p> 65 66<p> Samplers objects define how Allocations can be read as structure within a kernel. 67See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 68</p> 69<h2>Summary</h2> 70<table class='jd-sumtable'><tbody> 71 <tr><th colspan='2'>Functions</th></tr> 72 <tr class='alt-color api apilevel-1'> 73 <td class='jd-linkcol'> 74 <a href='rs_object_info.html#android_rs:rsAllocationGetDimFaces'>rsAllocationGetDimFaces</a> 75 </td> 76 <td class='jd-descrcol' width='100%'> 77 Presence of more than one face 78 </td> 79 </tr> 80 <tr class='alt-color api apilevel-1'> 81 <td class='jd-linkcol'> 82 <a href='rs_object_info.html#android_rs:rsAllocationGetDimLOD'>rsAllocationGetDimLOD</a> 83 </td> 84 <td class='jd-descrcol' width='100%'> 85 Presence of levels of detail 86 </td> 87 </tr> 88 <tr class='alt-color api apilevel-1'> 89 <td class='jd-linkcol'> 90 <a href='rs_object_info.html#android_rs:rsAllocationGetDimX'>rsAllocationGetDimX</a> 91 </td> 92 <td class='jd-descrcol' width='100%'> 93 Size of the X dimension 94 </td> 95 </tr> 96 <tr class='alt-color api apilevel-1'> 97 <td class='jd-linkcol'> 98 <a href='rs_object_info.html#android_rs:rsAllocationGetDimY'>rsAllocationGetDimY</a> 99 </td> 100 <td class='jd-descrcol' width='100%'> 101 Size of the Y dimension 102 </td> 103 </tr> 104 <tr class='alt-color api apilevel-1'> 105 <td class='jd-linkcol'> 106 <a href='rs_object_info.html#android_rs:rsAllocationGetDimZ'>rsAllocationGetDimZ</a> 107 </td> 108 <td class='jd-descrcol' width='100%'> 109 Size of the Z dimension 110 </td> 111 </tr> 112 <tr class='alt-color api apilevel-1'> 113 <td class='jd-linkcol'> 114 <a href='rs_object_info.html#android_rs:rsAllocationGetElement'>rsAllocationGetElement</a> 115 </td> 116 <td class='jd-descrcol' width='100%'> 117 Get the object that describes the cell of an Allocation 118 </td> 119 </tr> 120 <tr class='alt-color api apilevel-1'> 121 <td class='jd-linkcol'> 122 <a href='rs_object_info.html#android_rs:rsClearObject'>rsClearObject</a> 123 </td> 124 <td class='jd-descrcol' width='100%'> 125 Release an object 126 </td> 127 </tr> 128 <tr class='alt-color api apilevel-1'> 129 <td class='jd-linkcol'> 130 <a href='rs_object_info.html#android_rs:rsElementGetBytesSize'>rsElementGetBytesSize</a> 131 </td> 132 <td class='jd-descrcol' width='100%'> 133 Size of an Element 134 </td> 135 </tr> 136 <tr class='alt-color api apilevel-1'> 137 <td class='jd-linkcol'> 138 <a href='rs_object_info.html#android_rs:rsElementGetDataKind'>rsElementGetDataKind</a> 139 </td> 140 <td class='jd-descrcol' width='100%'> 141 Kind of an Element 142 </td> 143 </tr> 144 <tr class='alt-color api apilevel-1'> 145 <td class='jd-linkcol'> 146 <a href='rs_object_info.html#android_rs:rsElementGetDataType'>rsElementGetDataType</a> 147 </td> 148 <td class='jd-descrcol' width='100%'> 149 Data type of an Element 150 </td> 151 </tr> 152 <tr class='alt-color api apilevel-1'> 153 <td class='jd-linkcol'> 154 <a href='rs_object_info.html#android_rs:rsElementGetSubElement'>rsElementGetSubElement</a> 155 </td> 156 <td class='jd-descrcol' width='100%'> 157 Sub-element of a complex Element 158 </td> 159 </tr> 160 <tr class='alt-color api apilevel-1'> 161 <td class='jd-linkcol'> 162 <a href='rs_object_info.html#android_rs:rsElementGetSubElementArraySize'>rsElementGetSubElementArraySize</a> 163 </td> 164 <td class='jd-descrcol' width='100%'> 165 Array size of a sub-element of a complex Element 166 </td> 167 </tr> 168 <tr class='alt-color api apilevel-1'> 169 <td class='jd-linkcol'> 170 <a href='rs_object_info.html#android_rs:rsElementGetSubElementCount'>rsElementGetSubElementCount</a> 171 </td> 172 <td class='jd-descrcol' width='100%'> 173 Number of sub-elements 174 </td> 175 </tr> 176 <tr class='alt-color api apilevel-1'> 177 <td class='jd-linkcol'> 178 <a href='rs_object_info.html#android_rs:rsElementGetSubElementName'>rsElementGetSubElementName</a> 179 </td> 180 <td class='jd-descrcol' width='100%'> 181 Name of a sub-element 182 </td> 183 </tr> 184 <tr class='alt-color api apilevel-1'> 185 <td class='jd-linkcol'> 186 <a href='rs_object_info.html#android_rs:rsElementGetSubElementNameLength'>rsElementGetSubElementNameLength</a> 187 </td> 188 <td class='jd-descrcol' width='100%'> 189 Length of the name of a sub-element 190 </td> 191 </tr> 192 <tr class='alt-color api apilevel-1'> 193 <td class='jd-linkcol'> 194 <a href='rs_object_info.html#android_rs:rsElementGetSubElementOffsetBytes'>rsElementGetSubElementOffsetBytes</a> 195 </td> 196 <td class='jd-descrcol' width='100%'> 197 Offset of the instantiated sub-element 198 </td> 199 </tr> 200 <tr class='alt-color api apilevel-1'> 201 <td class='jd-linkcol'> 202 <a href='rs_object_info.html#android_rs:rsElementGetVectorSize'>rsElementGetVectorSize</a> 203 </td> 204 <td class='jd-descrcol' width='100%'> 205 Vector size of the Element 206 </td> 207 </tr> 208 <tr class='alt-color api apilevel-1'> 209 <td class='jd-linkcol'> 210 <a href='rs_object_info.html#android_rs:rsIsObject'>rsIsObject</a> 211 </td> 212 <td class='jd-descrcol' width='100%'> 213 Check for an empty handle 214 </td> 215 </tr> 216 <tr class='alt-color api apilevel-1'> 217 <td class='jd-linkcol'> 218 <a href='rs_object_info.html#android_rs:rsSamplerGetAnisotropy'>rsSamplerGetAnisotropy</a> 219 </td> 220 <td class='jd-descrcol' width='100%'> 221 Anisotropy of the Sampler 222 </td> 223 </tr> 224 <tr class='alt-color api apilevel-1'> 225 <td class='jd-linkcol'> 226 <a href='rs_object_info.html#android_rs:rsSamplerGetMagnification'>rsSamplerGetMagnification</a> 227 </td> 228 <td class='jd-descrcol' width='100%'> 229 Sampler magnification value 230 </td> 231 </tr> 232 <tr class='alt-color api apilevel-1'> 233 <td class='jd-linkcol'> 234 <a href='rs_object_info.html#android_rs:rsSamplerGetMinification'>rsSamplerGetMinification</a> 235 </td> 236 <td class='jd-descrcol' width='100%'> 237 Sampler minification value 238 </td> 239 </tr> 240 <tr class='alt-color api apilevel-1'> 241 <td class='jd-linkcol'> 242 <a href='rs_object_info.html#android_rs:rsSamplerGetWrapS'>rsSamplerGetWrapS</a> 243 </td> 244 <td class='jd-descrcol' width='100%'> 245 Sampler wrap S value 246 </td> 247 </tr> 248 <tr class='alt-color api apilevel-1'> 249 <td class='jd-linkcol'> 250 <a href='rs_object_info.html#android_rs:rsSamplerGetWrapT'>rsSamplerGetWrapT</a> 251 </td> 252 <td class='jd-descrcol' width='100%'> 253 Sampler wrap T value 254 </td> 255 </tr> 256</tbody></table> 257<table class='jd-sumtable'><tbody> 258 <tr><th colspan='2'>Deprecated Functions</th></tr> 259 <tr class='alt-color api apilevel-1'> 260 <td class='jd-linkcol'> 261 <a href='rs_object_info.html#android_rs:rsGetAllocation'>rsGetAllocation</a> 262 </td> 263 <td class='jd-descrcol' width='100%'> 264 <b>Deprecated</b>. Return the Allocation for a given pointer 265 </td> 266 </tr> 267</tbody></table> 268<h2>Functions</h2> 269<a name='android_rs:rsAllocationGetDimFaces'></a> 270<div class='jd-details'> 271 <h4 class='jd-details-title'> 272 <span class='sympad'>rsAllocationGetDimFaces</span> 273 <span class='normal'>: Presence of more than one face</span> 274 </h4> 275 <div class='jd-details-descr'> 276 <table class='jd-tagtable'><tbody> 277 <tr> 278 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsAllocationGetDimFaces(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 279</td> 280 <td> </td> 281 </tr> 282 </tbody></table> 283 </div> 284 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 285 <table class='jd-tagtable'><tbody> 286 <tr><td>Returns 1 if more than one face is present, 0 otherwise.</td></tr> 287 </tbody></table> 288 </div> 289 <div class='jd-tagdata jd-tagdescr'> 290<p> If the Allocation is a cubemap, this function returns 1 if there's more than one face 291present. In all other cases, it returns 0. 292</p> 293 294<p> Use <a href='rs_for_each.html#android_rs:rsGetDimHasFaces'>rsGetDimHasFaces</a>() to get the dimension of a currently running kernel. 295</p> 296 </div> 297</div> 298 299<a name='android_rs:rsAllocationGetDimLOD'></a> 300<div class='jd-details'> 301 <h4 class='jd-details-title'> 302 <span class='sympad'>rsAllocationGetDimLOD</span> 303 <span class='normal'>: Presence of levels of detail</span> 304 </h4> 305 <div class='jd-details-descr'> 306 <table class='jd-tagtable'><tbody> 307 <tr> 308 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsAllocationGetDimLOD(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 309</td> 310 <td> </td> 311 </tr> 312 </tbody></table> 313 </div> 314 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 315 <table class='jd-tagtable'><tbody> 316 <tr><td>Returns 1 if more than one LOD is present, 0 otherwise.</td></tr> 317 </tbody></table> 318 </div> 319 <div class='jd-tagdata jd-tagdescr'> 320<p> Query an Allocation for the presence of more than one Level Of Detail. This is useful 321for mipmaps. 322</p> 323 324<p> Use <a href='rs_for_each.html#android_rs:rsGetDimLod'>rsGetDimLod</a>() to get the dimension of a currently running kernel. 325</p> 326 </div> 327</div> 328 329<a name='android_rs:rsAllocationGetDimX'></a> 330<div class='jd-details'> 331 <h4 class='jd-details-title'> 332 <span class='sympad'>rsAllocationGetDimX</span> 333 <span class='normal'>: Size of the X dimension</span> 334 </h4> 335 <div class='jd-details-descr'> 336 <table class='jd-tagtable'><tbody> 337 <tr> 338 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsAllocationGetDimX(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 339</td> 340 <td> </td> 341 </tr> 342 </tbody></table> 343 </div> 344 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 345 <table class='jd-tagtable'><tbody> 346 <tr><td>X dimension of the Allocation.</td></tr> 347 </tbody></table> 348 </div> 349 <div class='jd-tagdata jd-tagdescr'> 350<p> Returns the size of the X dimension of the Allocation. 351</p> 352 353<p> Use <a href='rs_for_each.html#android_rs:rsGetDimX'>rsGetDimX</a>() to get the dimension of a currently running kernel. 354</p> 355 </div> 356</div> 357 358<a name='android_rs:rsAllocationGetDimY'></a> 359<div class='jd-details'> 360 <h4 class='jd-details-title'> 361 <span class='sympad'>rsAllocationGetDimY</span> 362 <span class='normal'>: Size of the Y dimension</span> 363 </h4> 364 <div class='jd-details-descr'> 365 <table class='jd-tagtable'><tbody> 366 <tr> 367 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsAllocationGetDimY(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 368</td> 369 <td> </td> 370 </tr> 371 </tbody></table> 372 </div> 373 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 374 <table class='jd-tagtable'><tbody> 375 <tr><td>Y dimension of the Allocation.</td></tr> 376 </tbody></table> 377 </div> 378 <div class='jd-tagdata jd-tagdescr'> 379<p> Returns the size of the Y dimension of the Allocation. If the Allocation has less 380than two dimensions, returns 0. 381</p> 382 383<p> Use <a href='rs_for_each.html#android_rs:rsGetDimY'>rsGetDimY</a>() to get the dimension of a currently running kernel. 384</p> 385 </div> 386</div> 387 388<a name='android_rs:rsAllocationGetDimZ'></a> 389<div class='jd-details'> 390 <h4 class='jd-details-title'> 391 <span class='sympad'>rsAllocationGetDimZ</span> 392 <span class='normal'>: Size of the Z dimension</span> 393 </h4> 394 <div class='jd-details-descr'> 395 <table class='jd-tagtable'><tbody> 396 <tr> 397 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsAllocationGetDimZ(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 398</td> 399 <td> </td> 400 </tr> 401 </tbody></table> 402 </div> 403 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 404 <table class='jd-tagtable'><tbody> 405 <tr><td>Z dimension of the Allocation.</td></tr> 406 </tbody></table> 407 </div> 408 <div class='jd-tagdata jd-tagdescr'> 409<p> Returns the size of the Z dimension of the Allocation. If the Allocation has less 410than three dimensions, returns 0. 411</p> 412 413<p> Use <a href='rs_for_each.html#android_rs:rsGetDimZ'>rsGetDimZ</a>() to get the dimension of a currently running kernel. 414</p> 415 </div> 416</div> 417 418<a name='android_rs:rsAllocationGetElement'></a> 419<div class='jd-details'> 420 <h4 class='jd-details-title'> 421 <span class='sympad'>rsAllocationGetElement</span> 422 <span class='normal'>: Get the object that describes the cell of an Allocation</span> 423 </h4> 424 <div class='jd-details-descr'> 425 <table class='jd-tagtable'><tbody> 426 <tr> 427 <td><a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> rsAllocationGetElement(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> a); 428</td> 429 <td> </td> 430 </tr> 431 </tbody></table> 432 </div> 433 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 434 <table class='jd-tagtable'><tbody> 435 <tr><th>a</th><td>Allocation to get data from.</td></tr> 436 </tbody></table> 437 </div> 438 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 439 <table class='jd-tagtable'><tbody> 440 <tr><td>Element describing Allocation layout.</td></tr> 441 </tbody></table> 442 </div> 443 <div class='jd-tagdata jd-tagdescr'> 444<p> Get the Element object describing the type, kind, and other characteristics of a cell 445of an Allocation. See the rsElement* functions below. 446</p> 447 </div> 448</div> 449 450<a name='android_rs:rsClearObject'></a> 451<div class='jd-details'> 452 <h4 class='jd-details-title'> 453 <span class='sympad'>rsClearObject</span> 454 <span class='normal'>: Release an object</span> 455 </h4> 456 <div class='jd-details-descr'> 457 <table class='jd-tagtable'><tbody> 458 <tr> 459 <td>void rsClearObject(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a>* dst); 460</td> 461 <td> </td> 462 </tr> 463 <tr> 464 <td>void rsClearObject(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a>* dst); 465</td> 466 <td> </td> 467 </tr> 468 <tr> 469 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_font'>rs_font</a>* dst); 470</td> 471 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 472 </td> 473 </tr> 474 <tr> 475 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_mesh'>rs_mesh</a>* dst); 476</td> 477 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 478 </td> 479 </tr> 480 <tr> 481 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_program_fragment'>rs_program_fragment</a>* dst); 482</td> 483 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 484 </td> 485 </tr> 486 <tr> 487 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_program_raster'>rs_program_raster</a>* dst); 488</td> 489 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 490 </td> 491 </tr> 492 <tr> 493 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_program_store'>rs_program_store</a>* dst); 494</td> 495 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 496 </td> 497 </tr> 498 <tr> 499 <td>void rsClearObject(<a href='rs_graphics.html#android_rs:rs_program_vertex'>rs_program_vertex</a>* dst); 500</td> 501 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 502 </td> 503 </tr> 504 <tr> 505 <td>void rsClearObject(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a>* dst); 506</td> 507 <td> </td> 508 </tr> 509 <tr> 510 <td>void rsClearObject(<a href='rs_object_types.html#android_rs:rs_script'>rs_script</a>* dst); 511</td> 512 <td> </td> 513 </tr> 514 <tr> 515 <td>void rsClearObject(<a href='rs_object_types.html#android_rs:rs_type'>rs_type</a>* dst); 516</td> 517 <td> </td> 518 </tr> 519 </tbody></table> 520 </div> 521 <div class='jd-tagdata jd-tagdescr'> 522<p> Tells the run time that this handle will no longer be used to access the the related 523object. If this was the last handle to that object, resource recovery may happen. 524</p> 525 526<p> After calling this function, *dst will be set to an empty handle. See <a href='rs_object_info.html#android_rs:rsIsObject'>rsIsObject</a>(). 527</p> 528 </div> 529</div> 530 531<a name='android_rs:rsElementGetBytesSize'></a> 532<div class='jd-details'> 533 <h4 class='jd-details-title'> 534 <span class='sympad'>rsElementGetBytesSize</span> 535 <span class='normal'>: Size of an Element</span> 536 </h4> 537 <div class='jd-details-descr'> 538 <table class='jd-tagtable'><tbody> 539 <tr> 540 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetBytesSize(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e); 541</td> 542 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 543 </td> 544 </tr> 545 </tbody></table> 546 </div> 547 <div class='jd-tagdata jd-tagdescr'> 548<p> Returns the size in bytes that an instantiation of this Element will occupy. 549</p> 550 </div> 551</div> 552 553<a name='android_rs:rsElementGetDataKind'></a> 554<div class='jd-details'> 555 <h4 class='jd-details-title'> 556 <span class='sympad'>rsElementGetDataKind</span> 557 <span class='normal'>: Kind of an Element</span> 558 </h4> 559 <div class='jd-details-descr'> 560 <table class='jd-tagtable'><tbody> 561 <tr> 562 <td><a href='rs_object_types.html#android_rs:rs_data_kind'>rs_data_kind</a> rsElementGetDataKind(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e); 563</td> 564 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 565 </td> 566 </tr> 567 </tbody></table> 568 </div> 569 <div class='jd-tagdata jd-tagdescr'> 570<p> Returns the Element's data kind. This is used to interpret pixel data. 571</p> 572 573<p> See <a href='rs_object_types.html#android_rs:rs_data_kind'>rs_data_kind</a>. 574</p> 575 </div> 576</div> 577 578<a name='android_rs:rsElementGetDataType'></a> 579<div class='jd-details'> 580 <h4 class='jd-details-title'> 581 <span class='sympad'>rsElementGetDataType</span> 582 <span class='normal'>: Data type of an Element</span> 583 </h4> 584 <div class='jd-details-descr'> 585 <table class='jd-tagtable'><tbody> 586 <tr> 587 <td><a href='rs_object_types.html#android_rs:rs_data_type'>rs_data_type</a> rsElementGetDataType(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e); 588</td> 589 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 590 </td> 591 </tr> 592 </tbody></table> 593 </div> 594 <div class='jd-tagdata jd-tagdescr'> 595<p> Returns the Element's base data type. This can be a type similar to C/C++ (e.g. 596RS_TYPE_UNSIGNED_8), a handle (e.g. RS_TYPE_ALLOCATION and RS_TYPE_ELEMENT), or a 597more complex numerical type (e.g. RS_TYPE_UNSIGNED_5_6_5 and RS_TYPE_MATRIX_4X4). 598See <a href='rs_object_types.html#android_rs:rs_data_type'>rs_data_type</a>. 599</p> 600 601<p> If the Element describes a vector, this function returns the data type of one of its items. 602Use <a href='rs_object_info.html#android_rs:rsElementGetVectorSize'>rsElementGetVectorSize</a> to get the size of the vector. 603</p> 604 605<p> If the Element describes a structure, RS_TYPE_NONE is returned. Use the rsElementGetSub* 606functions to explore this complex Element. 607</p> 608 </div> 609</div> 610 611<a name='android_rs:rsElementGetSubElement'></a> 612<div class='jd-details'> 613 <h4 class='jd-details-title'> 614 <span class='sympad'>rsElementGetSubElement</span> 615 <span class='normal'>: Sub-element of a complex Element</span> 616 </h4> 617 <div class='jd-details-descr'> 618 <table class='jd-tagtable'><tbody> 619 <tr> 620 <td><a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> rsElementGetSubElement(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> index); 621</td> 622 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 623 </td> 624 </tr> 625 </tbody></table> 626 </div> 627 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 628 <table class='jd-tagtable'><tbody> 629 <tr><th>e</th><td>Element to query.</td></tr> 630 <tr><th>index</th><td>Index of the sub-element to return.</td></tr> 631 </tbody></table> 632 </div> 633 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 634 <table class='jd-tagtable'><tbody> 635 <tr><td>Sub-element at the given index.</td></tr> 636 </tbody></table> 637 </div> 638 <div class='jd-tagdata jd-tagdescr'> 639<p> For Elements that represents a structure, this function returns the sub-element at the 640specified index. 641</p> 642 643<p> If the Element is not a structure or the index is greater or equal to the number of 644sub-elements, an invalid handle is returned. 645</p> 646 </div> 647</div> 648 649<a name='android_rs:rsElementGetSubElementArraySize'></a> 650<div class='jd-details'> 651 <h4 class='jd-details-title'> 652 <span class='sympad'>rsElementGetSubElementArraySize</span> 653 <span class='normal'>: Array size of a sub-element of a complex Element</span> 654 </h4> 655 <div class='jd-details-descr'> 656 <table class='jd-tagtable'><tbody> 657 <tr> 658 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetSubElementArraySize(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> index); 659</td> 660 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 661 </td> 662 </tr> 663 </tbody></table> 664 </div> 665 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 666 <table class='jd-tagtable'><tbody> 667 <tr><th>e</th><td>Element to query.</td></tr> 668 <tr><th>index</th><td>Index of the sub-element.</td></tr> 669 </tbody></table> 670 </div> 671 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 672 <table class='jd-tagtable'><tbody> 673 <tr><td>Array size of the sub-element.</td></tr> 674 </tbody></table> 675 </div> 676 <div class='jd-tagdata jd-tagdescr'> 677<p> For complex Elements, sub-elements can be statically sized arrays. This function 678returns the array size of the sub-element at the index. This sub-element repetition 679is different than fixed size vectors. 680</p> 681 </div> 682</div> 683 684<a name='android_rs:rsElementGetSubElementCount'></a> 685<div class='jd-details'> 686 <h4 class='jd-details-title'> 687 <span class='sympad'>rsElementGetSubElementCount</span> 688 <span class='normal'>: Number of sub-elements</span> 689 </h4> 690 <div class='jd-details-descr'> 691 <table class='jd-tagtable'><tbody> 692 <tr> 693 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetSubElementCount(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e); 694</td> 695 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 696 </td> 697 </tr> 698 </tbody></table> 699 </div> 700 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 701 <table class='jd-tagtable'><tbody> 702 <tr><th>e</th><td>Element to get data from.</td></tr> 703 </tbody></table> 704 </div> 705 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 706 <table class='jd-tagtable'><tbody> 707 <tr><td>Number of sub-elements.</td></tr> 708 </tbody></table> 709 </div> 710 <div class='jd-tagdata jd-tagdescr'> 711<p> Elements can be simple, such as an int or a float, or a structure with multiple 712sub-elements. This function returns zero for simple Elements and the number of 713sub-elements for complex Elements. 714</p> 715 </div> 716</div> 717 718<a name='android_rs:rsElementGetSubElementName'></a> 719<div class='jd-details'> 720 <h4 class='jd-details-title'> 721 <span class='sympad'>rsElementGetSubElementName</span> 722 <span class='normal'>: Name of a sub-element</span> 723 </h4> 724 <div class='jd-details-descr'> 725 <table class='jd-tagtable'><tbody> 726 <tr> 727 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetSubElementName(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> index, char* name, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> nameLength); 728</td> 729 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 730 </td> 731 </tr> 732 </tbody></table> 733 </div> 734 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 735 <table class='jd-tagtable'><tbody> 736 <tr><th>e</th><td>Element to get data from.</td></tr> 737 <tr><th>index</th><td>Index of the sub-element.</td></tr> 738 <tr><th>name</th><td>Address of the array to store the name into.</td></tr> 739 <tr><th>nameLength</th><td>Length of the provided name array.</td></tr> 740 </tbody></table> 741 </div> 742 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 743 <table class='jd-tagtable'><tbody> 744 <tr><td>Number of characters copied, excluding the null terminator.</td></tr> 745 </tbody></table> 746 </div> 747 <div class='jd-tagdata jd-tagdescr'> 748<p> For complex Elements, this function returns the name of the sub-element at the 749specified index. 750</p> 751 </div> 752</div> 753 754<a name='android_rs:rsElementGetSubElementNameLength'></a> 755<div class='jd-details'> 756 <h4 class='jd-details-title'> 757 <span class='sympad'>rsElementGetSubElementNameLength</span> 758 <span class='normal'>: Length of the name of a sub-element</span> 759 </h4> 760 <div class='jd-details-descr'> 761 <table class='jd-tagtable'><tbody> 762 <tr> 763 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetSubElementNameLength(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> index); 764</td> 765 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 766 </td> 767 </tr> 768 </tbody></table> 769 </div> 770 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 771 <table class='jd-tagtable'><tbody> 772 <tr><th>e</th><td>Element to get data from.</td></tr> 773 <tr><th>index</th><td>Index of the sub-element.</td></tr> 774 </tbody></table> 775 </div> 776 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 777 <table class='jd-tagtable'><tbody> 778 <tr><td>Length of the sub-element name including the null terminator.</td></tr> 779 </tbody></table> 780 </div> 781 <div class='jd-tagdata jd-tagdescr'> 782<p> For complex Elements, this function returns the length of the name of the sub-element 783at the specified index. 784</p> 785 </div> 786</div> 787 788<a name='android_rs:rsElementGetSubElementOffsetBytes'></a> 789<div class='jd-details'> 790 <h4 class='jd-details-title'> 791 <span class='sympad'>rsElementGetSubElementOffsetBytes</span> 792 <span class='normal'>: Offset of the instantiated sub-element</span> 793 </h4> 794 <div class='jd-details-descr'> 795 <table class='jd-tagtable'><tbody> 796 <tr> 797 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetSubElementOffsetBytes(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e, <a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> index); 798</td> 799 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 800 </td> 801 </tr> 802 </tbody></table> 803 </div> 804 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 805 <table class='jd-tagtable'><tbody> 806 <tr><th>e</th><td>Element to get data from.</td></tr> 807 <tr><th>index</th><td>Index of the sub-element.</td></tr> 808 </tbody></table> 809 </div> 810 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 811 <table class='jd-tagtable'><tbody> 812 <tr><td>Offset in bytes.</td></tr> 813 </tbody></table> 814 </div> 815 <div class='jd-tagdata jd-tagdescr'> 816<p> This function returns the relative position of the instantiation of the specified 817sub-element within the instantiation of the Element. 818</p> 819 820<p> For example, if the Element describes a 32 bit float followed by a 32 bit integer, 821the offset return for the first will be 0 and the second 4. 822</p> 823 </div> 824</div> 825 826<a name='android_rs:rsElementGetVectorSize'></a> 827<div class='jd-details'> 828 <h4 class='jd-details-title'> 829 <span class='sympad'>rsElementGetVectorSize</span> 830 <span class='normal'>: Vector size of the Element</span> 831 </h4> 832 <div class='jd-details-descr'> 833 <table class='jd-tagtable'><tbody> 834 <tr> 835 <td><a href='rs_value_types.html#android_rs:uint32_t'>uint32_t</a> rsElementGetVectorSize(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> e); 836</td> 837 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 838 </td> 839 </tr> 840 </tbody></table> 841 </div> 842 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5> 843 <table class='jd-tagtable'><tbody> 844 <tr><th>e</th><td>Element to get data from.</td></tr> 845 </tbody></table> 846 </div> 847 <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Returns</h5> 848 <table class='jd-tagtable'><tbody> 849 <tr><td>Length of the element vector.</td></tr> 850 </tbody></table> 851 </div> 852 <div class='jd-tagdata jd-tagdescr'> 853<p> Returns the Element's vector size. If the Element does not represent a vector, 8541 is returned. 855</p> 856 </div> 857</div> 858 859<a name='android_rs:rsGetAllocation'></a> 860<div class='jd-details'> 861 <h4 class='jd-details-title'> 862 <span class='sympad'>rsGetAllocation</span> 863 <span class='normal'>: Return the Allocation for a given pointer</span> 864 </h4> 865 <div class='jd-details-descr'> 866 <table class='jd-tagtable'><tbody> 867 <tr> 868 <td><a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> rsGetAllocation(const void* p); 869</td> 870 <td> </td> 871 </tr> 872 </tbody></table> 873 </div> 874 <div class='jd-tagdata jd-tagdescr'> 875 <p><b>Deprecated.</b> This function is deprecated and will be removed from the SDK in a future release.</p> 876<p> Returns the Allocation for a given pointer. The pointer should point within a valid 877allocation. The results are undefined if the pointer is not from a valid Allocation. 878</p> 879 </div> 880</div> 881 882<a name='android_rs:rsIsObject'></a> 883<div class='jd-details'> 884 <h4 class='jd-details-title'> 885 <span class='sympad'>rsIsObject</span> 886 <span class='normal'>: Check for an empty handle</span> 887 </h4> 888 <div class='jd-details-descr'> 889 <table class='jd-tagtable'><tbody> 890 <tr> 891 <td>bool rsIsObject(<a href='rs_object_types.html#android_rs:rs_allocation'>rs_allocation</a> v); 892</td> 893 <td> </td> 894 </tr> 895 <tr> 896 <td>bool rsIsObject(<a href='rs_object_types.html#android_rs:rs_element'>rs_element</a> v); 897</td> 898 <td> </td> 899 </tr> 900 <tr> 901 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_font'>rs_font</a> v); 902</td> 903 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 904 </td> 905 </tr> 906 <tr> 907 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_mesh'>rs_mesh</a> v); 908</td> 909 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 910 </td> 911 </tr> 912 <tr> 913 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_program_fragment'>rs_program_fragment</a> v); 914</td> 915 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 916 </td> 917 </tr> 918 <tr> 919 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_program_raster'>rs_program_raster</a> v); 920</td> 921 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 922 </td> 923 </tr> 924 <tr> 925 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_program_store'>rs_program_store</a> v); 926</td> 927 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 928 </td> 929 </tr> 930 <tr> 931 <td>bool rsIsObject(<a href='rs_graphics.html#android_rs:rs_program_vertex'>rs_program_vertex</a> v); 932</td> 933 <td> When compiling for 32 bits. Removed from <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 23 and higher</a> 934 </td> 935 </tr> 936 <tr> 937 <td>bool rsIsObject(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> v); 938</td> 939 <td> </td> 940 </tr> 941 <tr> 942 <td>bool rsIsObject(<a href='rs_object_types.html#android_rs:rs_script'>rs_script</a> v); 943</td> 944 <td> </td> 945 </tr> 946 <tr> 947 <td>bool rsIsObject(<a href='rs_object_types.html#android_rs:rs_type'>rs_type</a> v); 948</td> 949 <td> </td> 950 </tr> 951 </tbody></table> 952 </div> 953 <div class='jd-tagdata jd-tagdescr'> 954<p> Returns true if the handle contains a non-null reference. 955</p> 956 957<p> This function does not validate that the internal pointer used in the handle 958points to an actual valid object; it only checks for null. 959</p> 960 961<p> This function can be used to check the Element returned by <a href='rs_object_info.html#android_rs:rsElementGetSubElement'>rsElementGetSubElement</a>() 962or see if <a href='rs_object_info.html#android_rs:rsClearObject'>rsClearObject</a>() has been called on a handle. 963</p> 964 </div> 965</div> 966 967<a name='android_rs:rsSamplerGetAnisotropy'></a> 968<div class='jd-details'> 969 <h4 class='jd-details-title'> 970 <span class='sympad'>rsSamplerGetAnisotropy</span> 971 <span class='normal'>: Anisotropy of the Sampler</span> 972 </h4> 973 <div class='jd-details-descr'> 974 <table class='jd-tagtable'><tbody> 975 <tr> 976 <td>float rsSamplerGetAnisotropy(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> s); 977</td> 978 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 979 </td> 980 </tr> 981 </tbody></table> 982 </div> 983 <div class='jd-tagdata jd-tagdescr'> 984<p> Get the Sampler's anisotropy. 985</p> 986 987<p> See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 988</p> 989 </div> 990</div> 991 992<a name='android_rs:rsSamplerGetMagnification'></a> 993<div class='jd-details'> 994 <h4 class='jd-details-title'> 995 <span class='sympad'>rsSamplerGetMagnification</span> 996 <span class='normal'>: Sampler magnification value</span> 997 </h4> 998 <div class='jd-details-descr'> 999 <table class='jd-tagtable'><tbody> 1000 <tr> 1001 <td><a href='rs_object_types.html#android_rs:rs_sampler_value'>rs_sampler_value</a> rsSamplerGetMagnification(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> s); 1002</td> 1003 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 1004 </td> 1005 </tr> 1006 </tbody></table> 1007 </div> 1008 <div class='jd-tagdata jd-tagdescr'> 1009<p> Get the Sampler's magnification value. 1010</p> 1011 1012<p> See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 1013</p> 1014 </div> 1015</div> 1016 1017<a name='android_rs:rsSamplerGetMinification'></a> 1018<div class='jd-details'> 1019 <h4 class='jd-details-title'> 1020 <span class='sympad'>rsSamplerGetMinification</span> 1021 <span class='normal'>: Sampler minification value</span> 1022 </h4> 1023 <div class='jd-details-descr'> 1024 <table class='jd-tagtable'><tbody> 1025 <tr> 1026 <td><a href='rs_object_types.html#android_rs:rs_sampler_value'>rs_sampler_value</a> rsSamplerGetMinification(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> s); 1027</td> 1028 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 1029 </td> 1030 </tr> 1031 </tbody></table> 1032 </div> 1033 <div class='jd-tagdata jd-tagdescr'> 1034<p> Get the Sampler's minification value. 1035</p> 1036 1037<p> See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 1038</p> 1039 </div> 1040</div> 1041 1042<a name='android_rs:rsSamplerGetWrapS'></a> 1043<div class='jd-details'> 1044 <h4 class='jd-details-title'> 1045 <span class='sympad'>rsSamplerGetWrapS</span> 1046 <span class='normal'>: Sampler wrap S value</span> 1047 </h4> 1048 <div class='jd-details-descr'> 1049 <table class='jd-tagtable'><tbody> 1050 <tr> 1051 <td><a href='rs_object_types.html#android_rs:rs_sampler_value'>rs_sampler_value</a> rsSamplerGetWrapS(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> s); 1052</td> 1053 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 1054 </td> 1055 </tr> 1056 </tbody></table> 1057 </div> 1058 <div class='jd-tagdata jd-tagdescr'> 1059<p> Get the Sampler's wrap S value. 1060</p> 1061 1062<p> See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 1063</p> 1064 </div> 1065</div> 1066 1067<a name='android_rs:rsSamplerGetWrapT'></a> 1068<div class='jd-details'> 1069 <h4 class='jd-details-title'> 1070 <span class='sympad'>rsSamplerGetWrapT</span> 1071 <span class='normal'>: Sampler wrap T value</span> 1072 </h4> 1073 <div class='jd-details-descr'> 1074 <table class='jd-tagtable'><tbody> 1075 <tr> 1076 <td><a href='rs_object_types.html#android_rs:rs_sampler_value'>rs_sampler_value</a> rsSamplerGetWrapT(<a href='rs_object_types.html#android_rs:rs_sampler'>rs_sampler</a> s); 1077</td> 1078 <td> Added in <a href='http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels'>API level 16</a> 1079 </td> 1080 </tr> 1081 </tbody></table> 1082 </div> 1083 <div class='jd-tagdata jd-tagdescr'> 1084<p> Get the sampler's wrap T value. 1085</p> 1086 1087<p> See <a href='http://developer.android.com/reference/android/renderscript/Sampler.html'>android.renderscript.S</a>. 1088</p> 1089 </div> 1090</div> 1091 1092</div> 1093