1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5 6 <title>/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh File Reference</title> 7 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="doxygen.css" rel="stylesheet" type="text/css" /> 9 10 11 12 </head> 13 <body> 14 <div id="top"><!-- do not remove this div! --> 15 16 17 <!-- Generated by Doxygen 1.7.5.1 --> 18 <div id="navrow1" class="tabs"> 19 <ul class="tablist"> 20 <li><a href="index.html"><span>Overview</span></a></li> 21 <li class="current"><a href="globals.html"><span>Globals</span></a></li> 22 <li><a href="annotated.html"><span>Structs</span></a></li> 23 </ul> 24 </div> 25 </div> 26 <div class="header"> 27 <div class="summary"> 28 <a href="#func-members">Functions</a> </div> 29 <div class="headertitle"> 30 <div class="title">/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh File Reference</div> </div> 31 </div> 32 <div class="contents"> 33 <table class="memberdecls"> 34 <tr><td colspan="2"><h2><a name="func-members"></a> 35 Functions</h2></td></tr> 36 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a2ecab064ea2b720bc3af27b523388f31">rsElementGetSubElementCount</a> (<a class="el" href="structrs__element.html">rs_element</a> e)</td></tr> 37 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structrs__element.html">rs_element</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a8c690bce7d32be759fd787740c270c92">rsElementGetSubElement</a> (<a class="el" href="structrs__element.html">rs_element</a>, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index)</td></tr> 38 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a94834eb1d91b50a5df3cbe161c22e37d">rsElementGetSubElementNameLength</a> (<a class="el" href="structrs__element.html">rs_element</a> e, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index)</td></tr> 39 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a3c1446166c43aa6ba3d5359f6c982f02">rsElementGetSubElementName</a> (<a class="el" href="structrs__element.html">rs_element</a> e, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index, char *name, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> nameLength)</td></tr> 40 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a9c3140c18139db451279d9b221808eee">rsElementGetSubElementArraySize</a> (<a class="el" href="structrs__element.html">rs_element</a> e, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index)</td></tr> 41 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a840d53f1e91bb6887b40a4d8983c53ed">rsElementGetSubElementOffsetBytes</a> (<a class="el" href="structrs__element.html">rs_element</a> e, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index)</td></tr> 42 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#ac54592168af5896d3fba5283af286f98">rsElementGetBytesSize</a> (<a class="el" href="structrs__element.html">rs_element</a> e)</td></tr> 43 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#ae7551db5705f864fde49c13660aff647">rs_data_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a9a3569d242be363517ea2354d98cf382">rsElementGetDataType</a> (<a class="el" href="structrs__element.html">rs_element</a> e)</td></tr> 44 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a1692d177c4a3fe1544bd91172056581a">rs_data_kind</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#af072702a530e158093d69353072da5f9">rsElementGetDataKind</a> (<a class="el" href="structrs__element.html">rs_element</a> e)</td></tr> 45 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__element_8rsh.html#a727997de25ae43c07dffcfd484928d53">rsElementGetVectorSize</a> (<a class="el" href="structrs__element.html">rs_element</a> e)</td></tr> 46 </table> 47 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 48 <div class="textblock"><p>Element routines. </p> 49 50 <p>Definition in file <a class="el" href="rs__element_8rsh_source.html">rs_element.rsh</a>.</p> 51 </div><hr/><h2>Function Documentation</h2> 52 <a class="anchor" id="ac54592168af5896d3fba5283af286f98"></a><!-- doxytag: member="rs_element.rsh::rsElementGetBytesSize" ref="ac54592168af5896d3fba5283af286f98" args="(rs_element e)" --> 53 <div class="memitem"> 54 <div class="memproto"> 55 <table class="memname"> 56 <tr> 57 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetBytesSize </td> 58 <td>(</td> 59 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 60 <td class="paramname"><em>e</em></td><td>)</td> 61 <td></td> 62 </tr> 63 </table> 64 </div> 65 <div class="memdoc"> 66 <p>Returns the size of element in bytes</p> 67 <dl><dt><b>Parameters:</b></dt><dd> 68 <table class="params"> 69 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 70 </table> 71 </dd> 72 </dl> 73 <dl class="return"><dt><b>Returns:</b></dt><dd>total size of the element in bytes </dd></dl> 74 75 </div> 76 </div> 77 <a class="anchor" id="af072702a530e158093d69353072da5f9"></a><!-- doxytag: member="rs_element.rsh::rsElementGetDataKind" ref="af072702a530e158093d69353072da5f9" args="(rs_element e)" --> 78 <div class="memitem"> 79 <div class="memproto"> 80 <table class="memname"> 81 <tr> 82 <td class="memname"><a class="el" href="rs__types_8rsh.html#a1692d177c4a3fe1544bd91172056581a">rs_data_kind</a> rsElementGetDataKind </td> 83 <td>(</td> 84 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 85 <td class="paramname"><em>e</em></td><td>)</td> 86 <td></td> 87 </tr> 88 </table> 89 </div> 90 <div class="memdoc"> 91 <p>Returns the element's data kind</p> 92 <dl><dt><b>Parameters:</b></dt><dd> 93 <table class="params"> 94 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 95 </table> 96 </dd> 97 </dl> 98 <dl class="return"><dt><b>Returns:</b></dt><dd>element's data size </dd></dl> 99 100 </div> 101 </div> 102 <a class="anchor" id="a9a3569d242be363517ea2354d98cf382"></a><!-- doxytag: member="rs_element.rsh::rsElementGetDataType" ref="a9a3569d242be363517ea2354d98cf382" args="(rs_element e)" --> 103 <div class="memitem"> 104 <div class="memproto"> 105 <table class="memname"> 106 <tr> 107 <td class="memname"><a class="el" href="rs__types_8rsh.html#ae7551db5705f864fde49c13660aff647">rs_data_type</a> rsElementGetDataType </td> 108 <td>(</td> 109 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 110 <td class="paramname"><em>e</em></td><td>)</td> 111 <td></td> 112 </tr> 113 </table> 114 </div> 115 <div class="memdoc"> 116 <p>Returns the element's data type</p> 117 <dl><dt><b>Parameters:</b></dt><dd> 118 <table class="params"> 119 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 120 </table> 121 </dd> 122 </dl> 123 <dl class="return"><dt><b>Returns:</b></dt><dd>element's data type </dd></dl> 124 125 </div> 126 </div> 127 <a class="anchor" id="a8c690bce7d32be759fd787740c270c92"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElement" ref="a8c690bce7d32be759fd787740c270c92" args="(rs_element, uint32_t index)" --> 128 <div class="memitem"> 129 <div class="memproto"> 130 <table class="memname"> 131 <tr> 132 <td class="memname"><a class="el" href="structrs__element.html">rs_element</a> rsElementGetSubElement </td> 133 <td>(</td> 134 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 135 <td class="paramname">, </td> 136 </tr> 137 <tr> 138 <td class="paramkey"></td> 139 <td></td> 140 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 141 <td class="paramname"><em>index</em> </td> 142 </tr> 143 <tr> 144 <td></td> 145 <td>)</td> 146 <td></td><td></td> 147 </tr> 148 </table> 149 </div> 150 <div class="memdoc"> 151 <p>For complex elements, this function will return the sub-element at index</p> 152 <dl><dt><b>Parameters:</b></dt><dd> 153 <table class="params"> 154 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 155 <tr><td class="paramname">index</td><td>index of the sub-element to return </td></tr> 156 </table> 157 </dd> 158 </dl> 159 <dl class="return"><dt><b>Returns:</b></dt><dd>sub-element in this element at given index </dd></dl> 160 161 </div> 162 </div> 163 <a class="anchor" id="a9c3140c18139db451279d9b221808eee"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElementArraySize" ref="a9c3140c18139db451279d9b221808eee" args="(rs_element e, uint32_t index)" --> 164 <div class="memitem"> 165 <div class="memproto"> 166 <table class="memname"> 167 <tr> 168 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetSubElementArraySize </td> 169 <td>(</td> 170 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 171 <td class="paramname"><em>e</em>, </td> 172 </tr> 173 <tr> 174 <td class="paramkey"></td> 175 <td></td> 176 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 177 <td class="paramname"><em>index</em> </td> 178 </tr> 179 <tr> 180 <td></td> 181 <td>)</td> 182 <td></td><td></td> 183 </tr> 184 </table> 185 </div> 186 <div class="memdoc"> 187 <p>For complex elements, some sub-elements could be statically sized arrays. This function will return the array size for sub-element at index</p> 188 <dl><dt><b>Parameters:</b></dt><dd> 189 <table class="params"> 190 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 191 <tr><td class="paramname">index</td><td>index of the sub-element </td></tr> 192 </table> 193 </dd> 194 </dl> 195 <dl class="return"><dt><b>Returns:</b></dt><dd>array size of sub-element in this element at given index </dd></dl> 196 197 </div> 198 </div> 199 <a class="anchor" id="a2ecab064ea2b720bc3af27b523388f31"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElementCount" ref="a2ecab064ea2b720bc3af27b523388f31" args="(rs_element e)" --> 200 <div class="memitem"> 201 <div class="memproto"> 202 <table class="memname"> 203 <tr> 204 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetSubElementCount </td> 205 <td>(</td> 206 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 207 <td class="paramname"><em>e</em></td><td>)</td> 208 <td></td> 209 </tr> 210 </table> 211 </div> 212 <div class="memdoc"> 213 <p>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.</p> 214 <dl><dt><b>Parameters:</b></dt><dd> 215 <table class="params"> 216 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 217 </table> 218 </dd> 219 </dl> 220 <dl class="return"><dt><b>Returns:</b></dt><dd>number of sub-elements in this element </dd></dl> 221 222 </div> 223 </div> 224 <a class="anchor" id="a3c1446166c43aa6ba3d5359f6c982f02"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElementName" ref="a3c1446166c43aa6ba3d5359f6c982f02" args="(rs_element e, uint32_t index, char *name, uint32_t nameLength)" --> 225 <div class="memitem"> 226 <div class="memproto"> 227 <table class="memname"> 228 <tr> 229 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetSubElementName </td> 230 <td>(</td> 231 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 232 <td class="paramname"><em>e</em>, </td> 233 </tr> 234 <tr> 235 <td class="paramkey"></td> 236 <td></td> 237 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 238 <td class="paramname"><em>index</em>, </td> 239 </tr> 240 <tr> 241 <td class="paramkey"></td> 242 <td></td> 243 <td class="paramtype">char * </td> 244 <td class="paramname"><em>name</em>, </td> 245 </tr> 246 <tr> 247 <td class="paramkey"></td> 248 <td></td> 249 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 250 <td class="paramname"><em>nameLength</em> </td> 251 </tr> 252 <tr> 253 <td></td> 254 <td>)</td> 255 <td></td><td></td> 256 </tr> 257 </table> 258 </div> 259 <div class="memdoc"> 260 <p>For complex elements, this function will return the sub-element name at index</p> 261 <dl><dt><b>Parameters:</b></dt><dd> 262 <table class="params"> 263 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 264 <tr><td class="paramname">index</td><td>index of the sub-element </td></tr> 265 <tr><td class="paramname">name</td><td>array to store the name into </td></tr> 266 <tr><td class="paramname">nameLength</td><td>length of the provided name array </td></tr> 267 </table> 268 </dd> 269 </dl> 270 <dl class="return"><dt><b>Returns:</b></dt><dd>number of characters actually written, excluding the null terminator </dd></dl> 271 272 </div> 273 </div> 274 <a class="anchor" id="a94834eb1d91b50a5df3cbe161c22e37d"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElementNameLength" ref="a94834eb1d91b50a5df3cbe161c22e37d" args="(rs_element e, uint32_t index)" --> 275 <div class="memitem"> 276 <div class="memproto"> 277 <table class="memname"> 278 <tr> 279 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetSubElementNameLength </td> 280 <td>(</td> 281 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 282 <td class="paramname"><em>e</em>, </td> 283 </tr> 284 <tr> 285 <td class="paramkey"></td> 286 <td></td> 287 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 288 <td class="paramname"><em>index</em> </td> 289 </tr> 290 <tr> 291 <td></td> 292 <td>)</td> 293 <td></td><td></td> 294 </tr> 295 </table> 296 </div> 297 <div class="memdoc"> 298 <p>For complex elements, this function will return the length of sub-element name at index</p> 299 <dl><dt><b>Parameters:</b></dt><dd> 300 <table class="params"> 301 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 302 <tr><td class="paramname">index</td><td>index of the sub-element to return </td></tr> 303 </table> 304 </dd> 305 </dl> 306 <dl class="return"><dt><b>Returns:</b></dt><dd>length of the sub-element name including the null terminator (size of buffer needed to write the name) </dd></dl> 307 308 </div> 309 </div> 310 <a class="anchor" id="a840d53f1e91bb6887b40a4d8983c53ed"></a><!-- doxytag: member="rs_element.rsh::rsElementGetSubElementOffsetBytes" ref="a840d53f1e91bb6887b40a4d8983c53ed" args="(rs_element e, uint32_t index)" --> 311 <div class="memitem"> 312 <div class="memproto"> 313 <table class="memname"> 314 <tr> 315 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetSubElementOffsetBytes </td> 316 <td>(</td> 317 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 318 <td class="paramname"><em>e</em>, </td> 319 </tr> 320 <tr> 321 <td class="paramkey"></td> 322 <td></td> 323 <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> 324 <td class="paramname"><em>index</em> </td> 325 </tr> 326 <tr> 327 <td></td> 328 <td>)</td> 329 <td></td><td></td> 330 </tr> 331 </table> 332 </div> 333 <div class="memdoc"> 334 <p>This function specifies the location of a sub-element within the element</p> 335 <dl><dt><b>Parameters:</b></dt><dd> 336 <table class="params"> 337 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 338 <tr><td class="paramname">index</td><td>index of the sub-element </td></tr> 339 </table> 340 </dd> 341 </dl> 342 <dl class="return"><dt><b>Returns:</b></dt><dd>offset in bytes of sub-element in this element at given index </dd></dl> 343 344 </div> 345 </div> 346 <a class="anchor" id="a727997de25ae43c07dffcfd484928d53"></a><!-- doxytag: member="rs_element.rsh::rsElementGetVectorSize" ref="a727997de25ae43c07dffcfd484928d53" args="(rs_element e)" --> 347 <div class="memitem"> 348 <div class="memproto"> 349 <table class="memname"> 350 <tr> 351 <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsElementGetVectorSize </td> 352 <td>(</td> 353 <td class="paramtype"><a class="el" href="structrs__element.html">rs_element</a> </td> 354 <td class="paramname"><em>e</em></td><td>)</td> 355 <td></td> 356 </tr> 357 </table> 358 </div> 359 <div class="memdoc"> 360 <p>Returns the element's vector size</p> 361 <dl><dt><b>Parameters:</b></dt><dd> 362 <table class="params"> 363 <tr><td class="paramname">e</td><td>element to get data from </td></tr> 364 </table> 365 </dd> 366 </dl> 367 <dl class="return"><dt><b>Returns:</b></dt><dd>length of the element vector (for float2, float3, etc.) </dd></dl> 368 369 </div> 370 </div> 371 </div> 372 373 </body> 374 </html> 375