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>rsCppStructs.h Source File</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><a href="annotated.html"><span>Structs</span></a></li> 22 </ul> 23 </div> 24 <div class="header"> 25 <div class="headertitle"> 26 <div class="title">rsCppStructs.h</div> </div> 27 </div> 28 <div class="contents"> 29 <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> 30 <a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2013 The Android Open Source Project</span> 31 <a name="l00003"></a>00003 <span class="comment"> *</span> 32 <a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span> 33 <a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span> 34 <a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span> 35 <a name="l00007"></a>00007 <span class="comment"> *</span> 36 <a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span> 37 <a name="l00009"></a>00009 <span class="comment"> *</span> 38 <a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span> 39 <a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span> 40 <a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> 41 <a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span> 42 <a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span> 43 <a name="l00015"></a>00015 <span class="comment"> */</span> 44 <a name="l00016"></a>00016 45 <a name="l00017"></a>00017 <span class="preprocessor">#ifndef ANDROID_RSCPPSTRUCTS_H</span> 46 <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define ANDROID_RSCPPSTRUCTS_H</span> 47 <a name="l00019"></a>00019 <span class="preprocessor"></span> 48 <a name="l00020"></a>00020 <span class="preprocessor">#include "rsDefines.h"</span> 49 <a name="l00021"></a>00021 <span class="preprocessor">#include "util/RefBase.h"</span> 50 <a name="l00022"></a>00022 <span class="preprocessor">#include "rsDispatch.h"</span> 51 <a name="l00023"></a>00023 52 <a name="l00024"></a>00024 <span class="preprocessor">#include <vector></span> 53 <a name="l00025"></a>00025 <span class="preprocessor">#include <string></span> 54 <a name="l00026"></a>00026 55 <a name="l00031"></a>00031 <span class="preprocessor">#define RS_CPU_ALLOCATION_ALIGNMENT 16</span> 56 <a name="l00032"></a>00032 <span class="preprocessor"></span> 57 <a name="l00033"></a>00033 <span class="keyword">namespace </span>android { 58 <a name="l00034"></a>00034 <span class="keyword">namespace </span>RSC { 59 <a name="l00035"></a>00035 60 <a name="l00036"></a>00036 <span class="keyword">typedef</span> void (*ErrorHandlerFunc_t)(uint32_t errorNum, <span class="keyword">const</span> <span class="keywordtype">char</span> *errorText); 61 <a name="l00037"></a>00037 <span class="keyword">typedef</span> void (*MessageHandlerFunc_t)(uint32_t msgNum, <span class="keyword">const</span> <span class="keywordtype">void</span> *msgData, <span class="keywordtype">size_t</span> msgLen); 62 <a name="l00038"></a>00038 63 <a name="l00039"></a>00039 <span class="keyword">class </span>RS; 64 <a name="l00040"></a>00040 <span class="keyword">class </span>BaseObj; 65 <a name="l00041"></a>00041 <span class="keyword">class </span>Element; 66 <a name="l00042"></a>00042 <span class="keyword">class </span>Type; 67 <a name="l00043"></a>00043 <span class="keyword">class </span>Allocation; 68 <a name="l00044"></a>00044 <span class="keyword">class </span>Script; 69 <a name="l00045"></a>00045 <span class="keyword">class </span>ScriptC; 70 <a name="l00046"></a>00046 <span class="keyword">class </span>Sampler; 71 <a name="l00047"></a>00047 72 <a name="l00053"></a>00053 <span class="keyword">enum</span> RSError { 73 <a name="l00054"></a>00054 RS_SUCCESS = 0, 74 <a name="l00055"></a>00055 RS_ERROR_INVALID_PARAMETER = 1, 75 <a name="l00056"></a>00056 RS_ERROR_RUNTIME_ERROR = 2, 76 <a name="l00057"></a>00057 77 <a name="l00058"></a>00058 RS_ERROR_INVALID_ELEMENT = 3, 78 <a name="l00059"></a>00059 RS_ERROR_MAX = 9999 79 <a name="l00060"></a>00060 80 <a name="l00061"></a>00061 }; 81 <a name="l00062"></a>00062 82 <a name="l00066"></a>00066 <span class="keyword">enum</span> RSYuvFormat { 83 <a name="l00067"></a>00067 RS_YUV_NONE = 0, 84 <a name="l00068"></a>00068 RS_YUV_YV12 = 1, 85 <a name="l00069"></a>00069 RS_YUV_NV21 = 2, 86 <a name="l00070"></a>00070 RS_YUV_MAX = 3 87 <a name="l00071"></a>00071 }; 88 <a name="l00072"></a>00072 89 <a name="l00076"></a>00076 <span class="keyword">enum</span> RSInitFlags { 90 <a name="l00077"></a>00077 RS_INIT_SYNCHRONOUS = 1, 91 <a name="l00078"></a>00078 RS_INIT_LOW_LATENCY = 2, 92 <a name="l00079"></a>00079 RS_INIT_MAX = 4 93 <a name="l00080"></a>00080 }; 94 <a name="l00081"></a>00081 95 <a name="l00085"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html">00085</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a> : <span class="keyword">public</span> android::RSC::LightRefBase<RS> { 96 <a name="l00086"></a>00086 97 <a name="l00087"></a>00087 <span class="keyword">public</span>: 98 <a name="l00088"></a>00088 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>(); 99 <a name="l00089"></a>00089 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>(); 100 <a name="l00090"></a>00090 101 <a name="l00098"></a>00098 <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a04fd7161619e7b2ede4e54a14064097f">init</a>(std::string name, uint32_t flags = 0); 102 <a name="l00099"></a>00099 103 <a name="l00106"></a>00106 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a3e91e22835c85d230eba3ff1d20455a5">setErrorHandler</a>(ErrorHandlerFunc_t func); 104 <a name="l00107"></a>00107 105 <a name="l00113"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html#aeb1f7ac6b745b64d56ea07f92d4003b1">00113</a> ErrorHandlerFunc_t <a class="code" href="classandroid_1_1RSC_1_1RS.html#aeb1f7ac6b745b64d56ea07f92d4003b1">getErrorHandler</a>() { <span class="keywordflow">return</span> mErrorFunc; } 106 <a name="l00114"></a>00114 107 <a name="l00121"></a>00121 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a37d0314f4a5f861da12355b4ca5ffee6">setMessageHandler</a>(MessageHandlerFunc_t func); 108 <a name="l00122"></a>00122 109 <a name="l00128"></a><a class="code" href="classandroid_1_1RSC_1_1RS.html#a5f1336fbd31c78a97a7bc9fdeccc6020">00128</a> MessageHandlerFunc_t <a class="code" href="classandroid_1_1RSC_1_1RS.html#a5f1336fbd31c78a97a7bc9fdeccc6020">getMessageHandler</a>() { <span class="keywordflow">return</span> mMessageFunc; } 110 <a name="l00129"></a>00129 111 <a name="l00135"></a>00135 RSError <a class="code" href="classandroid_1_1RSC_1_1RS.html#a44f4660452aee0b1dbd747e383e531be">getError</a>(); 112 <a name="l00136"></a>00136 113 <a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#aff0d61c3a1fa1432a07dae0db14569c4">finish</a>(); 114 <a name="l00142"></a>00142 115 <a name="l00143"></a>00143 RsContext getContext() { <span class="keywordflow">return</span> mContext; } 116 <a name="l00144"></a>00144 <span class="keywordtype">void</span> throwError(RSError error, <span class="keyword">const</span> <span class="keywordtype">char</span> *errMsg); 117 <a name="l00145"></a>00145 118 <a name="l00146"></a>00146 <span class="keyword">static</span> dispatchTable* dispatch; 119 <a name="l00147"></a>00147 120 <a name="l00148"></a>00148 <span class="keyword">private</span>: 121 <a name="l00149"></a>00149 <span class="keyword">static</span> <span class="keywordtype">bool</span> usingNative; 122 <a name="l00150"></a>00150 <span class="keyword">static</span> <span class="keywordtype">bool</span> initDispatch(<span class="keywordtype">int</span> targetApi); 123 <a name="l00151"></a>00151 124 <a name="l00152"></a>00152 <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#a04fd7161619e7b2ede4e54a14064097f">init</a>(std::string &name, <span class="keywordtype">int</span> targetApi, uint32_t flags); 125 <a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keywordtype">void</span> * threadProc(<span class="keywordtype">void</span> *); 126 <a name="l00154"></a>00154 127 <a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keywordtype">bool</span> gInitialized; 128 <a name="l00156"></a>00156 <span class="keyword">static</span> pthread_mutex_t gInitMutex; 129 <a name="l00157"></a>00157 130 <a name="l00158"></a>00158 pthread_t mMessageThreadId; 131 <a name="l00159"></a>00159 pid_t mNativeMessageThreadId; 132 <a name="l00160"></a>00160 <span class="keywordtype">bool</span> mMessageRun; 133 <a name="l00161"></a>00161 134 <a name="l00162"></a>00162 RsDevice mDev; 135 <a name="l00163"></a>00163 RsContext mContext; 136 <a name="l00164"></a>00164 RSError mCurrentError; 137 <a name="l00165"></a>00165 138 <a name="l00166"></a>00166 ErrorHandlerFunc_t mErrorFunc; 139 <a name="l00167"></a>00167 MessageHandlerFunc_t mMessageFunc; 140 <a name="l00168"></a>00168 <span class="keywordtype">bool</span> mInit; 141 <a name="l00169"></a>00169 142 <a name="l00170"></a>00170 std::string mCacheDir; 143 <a name="l00171"></a>00171 144 <a name="l00172"></a>00172 <span class="keyword">struct </span>{ 145 <a name="l00173"></a>00173 sp<const Element> U8; 146 <a name="l00174"></a>00174 sp<const Element> U8_2; 147 <a name="l00175"></a>00175 sp<const Element> U8_3; 148 <a name="l00176"></a>00176 sp<const Element> U8_4; 149 <a name="l00177"></a>00177 sp<const Element> I8; 150 <a name="l00178"></a>00178 sp<const Element> I8_2; 151 <a name="l00179"></a>00179 sp<const Element> I8_3; 152 <a name="l00180"></a>00180 sp<const Element> I8_4; 153 <a name="l00181"></a>00181 sp<const Element> U16; 154 <a name="l00182"></a>00182 sp<const Element> U16_2; 155 <a name="l00183"></a>00183 sp<const Element> U16_3; 156 <a name="l00184"></a>00184 sp<const Element> U16_4; 157 <a name="l00185"></a>00185 sp<const Element> I16; 158 <a name="l00186"></a>00186 sp<const Element> I16_2; 159 <a name="l00187"></a>00187 sp<const Element> I16_3; 160 <a name="l00188"></a>00188 sp<const Element> I16_4; 161 <a name="l00189"></a>00189 sp<const Element> U32; 162 <a name="l00190"></a>00190 sp<const Element> U32_2; 163 <a name="l00191"></a>00191 sp<const Element> U32_3; 164 <a name="l00192"></a>00192 sp<const Element> U32_4; 165 <a name="l00193"></a>00193 sp<const Element> I32; 166 <a name="l00194"></a>00194 sp<const Element> I32_2; 167 <a name="l00195"></a>00195 sp<const Element> I32_3; 168 <a name="l00196"></a>00196 sp<const Element> I32_4; 169 <a name="l00197"></a>00197 sp<const Element> U64; 170 <a name="l00198"></a>00198 sp<const Element> U64_2; 171 <a name="l00199"></a>00199 sp<const Element> U64_3; 172 <a name="l00200"></a>00200 sp<const Element> U64_4; 173 <a name="l00201"></a>00201 sp<const Element> I64; 174 <a name="l00202"></a>00202 sp<const Element> I64_2; 175 <a name="l00203"></a>00203 sp<const Element> I64_3; 176 <a name="l00204"></a>00204 sp<const Element> I64_4; 177 <a name="l00205"></a>00205 sp<const Element> F32; 178 <a name="l00206"></a>00206 sp<const Element> F32_2; 179 <a name="l00207"></a>00207 sp<const Element> F32_3; 180 <a name="l00208"></a>00208 sp<const Element> F32_4; 181 <a name="l00209"></a>00209 sp<const Element> F64; 182 <a name="l00210"></a>00210 sp<const Element> F64_2; 183 <a name="l00211"></a>00211 sp<const Element> F64_3; 184 <a name="l00212"></a>00212 sp<const Element> F64_4; 185 <a name="l00213"></a>00213 sp<const Element> BOOLEAN; 186 <a name="l00214"></a>00214 187 <a name="l00215"></a>00215 sp<const Element> ELEMENT; 188 <a name="l00216"></a>00216 sp<const Element> TYPE; 189 <a name="l00217"></a>00217 sp<const Element> ALLOCATION; 190 <a name="l00218"></a>00218 sp<const Element> SAMPLER; 191 <a name="l00219"></a>00219 sp<const Element> SCRIPT; 192 <a name="l00220"></a>00220 sp<const Element> MESH; 193 <a name="l00221"></a>00221 sp<const Element> PROGRAM_FRAGMENT; 194 <a name="l00222"></a>00222 sp<const Element> PROGRAM_VERTEX; 195 <a name="l00223"></a>00223 sp<const Element> PROGRAM_RASTER; 196 <a name="l00224"></a>00224 sp<const Element> PROGRAM_STORE; 197 <a name="l00225"></a>00225 198 <a name="l00226"></a>00226 sp<const Element> A_8; 199 <a name="l00227"></a>00227 sp<const Element> RGB_565; 200 <a name="l00228"></a>00228 sp<const Element> RGB_888; 201 <a name="l00229"></a>00229 sp<const Element> RGBA_5551; 202 <a name="l00230"></a>00230 sp<const Element> RGBA_4444; 203 <a name="l00231"></a>00231 sp<const Element> RGBA_8888; 204 <a name="l00232"></a>00232 205 <a name="l00233"></a>00233 sp<const Element> YUV; 206 <a name="l00234"></a>00234 207 <a name="l00235"></a>00235 sp<const Element> MATRIX_4X4; 208 <a name="l00236"></a>00236 sp<const Element> MATRIX_3X3; 209 <a name="l00237"></a>00237 sp<const Element> MATRIX_2X2; 210 <a name="l00238"></a>00238 } mElements; 211 <a name="l00239"></a>00239 212 <a name="l00240"></a>00240 <span class="keyword">struct </span>{ 213 <a name="l00241"></a>00241 sp<const Sampler> CLAMP_NEAREST; 214 <a name="l00242"></a>00242 sp<const Sampler> CLAMP_LINEAR; 215 <a name="l00243"></a>00243 sp<const Sampler> CLAMP_LINEAR_MIP_LINEAR; 216 <a name="l00244"></a>00244 sp<const Sampler> WRAP_NEAREST; 217 <a name="l00245"></a>00245 sp<const Sampler> WRAP_LINEAR; 218 <a name="l00246"></a>00246 sp<const Sampler> WRAP_LINEAR_MIP_LINEAR; 219 <a name="l00247"></a>00247 sp<const Sampler> MIRRORED_REPEAT_NEAREST; 220 <a name="l00248"></a>00248 sp<const Sampler> MIRRORED_REPEAT_LINEAR; 221 <a name="l00249"></a>00249 sp<const Sampler> MIRRORED_REPEAT_LINEAR_MIP_LINEAR; 222 <a name="l00250"></a>00250 } mSamplers; 223 <a name="l00251"></a>00251 <span class="keyword">friend</span> <span class="keyword">class </span>Sampler; 224 <a name="l00252"></a>00252 <span class="keyword">friend</span> <span class="keyword">class </span>Element; 225 <a name="l00253"></a>00253 <span class="keyword">friend</span> <span class="keyword">class </span>ScriptC; 226 <a name="l00254"></a>00254 }; 227 <a name="l00255"></a>00255 228 <a name="l00259"></a><a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">00259</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> : <span class="keyword">public</span> android::RSC::LightRefBase<BaseObj> { 229 <a name="l00260"></a>00260 <span class="keyword">public</span>: 230 <a name="l00261"></a>00261 <span class="keywordtype">void</span> * getID() <span class="keyword">const</span>; 231 <a name="l00262"></a>00262 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a>(); 232 <a name="l00263"></a>00263 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); 233 <a name="l00264"></a>00264 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equals(sp<const BaseObj> obj); 234 <a name="l00265"></a>00265 235 <a name="l00266"></a>00266 <span class="keyword">protected</span>: 236 <a name="l00267"></a>00267 <span class="keywordtype">void</span> *mID; 237 <a name="l00268"></a>00268 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; 238 <a name="l00269"></a>00269 std::string mName; 239 <a name="l00270"></a>00270 240 <a name="l00271"></a>00271 <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs); 241 <a name="l00272"></a>00272 <span class="keywordtype">void</span> checkValid(); 242 <a name="l00273"></a>00273 243 <a name="l00274"></a>00274 <span class="keyword">static</span> <span class="keywordtype">void</span> * getObjID(sp<const BaseObj> o); 244 <a name="l00275"></a>00275 245 <a name="l00276"></a>00276 }; 246 <a name="l00277"></a>00277 247 <a name="l00293"></a><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">00293</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> { 248 <a name="l00294"></a>00294 <span class="keyword">protected</span>: 249 <a name="l00295"></a>00295 sp<const Type> mType; 250 <a name="l00296"></a>00296 uint32_t mUsage; 251 <a name="l00297"></a>00297 sp<Allocation> mAdaptedAllocation; 252 <a name="l00298"></a>00298 253 <a name="l00299"></a>00299 <span class="keywordtype">bool</span> mConstrainedLOD; 254 <a name="l00300"></a>00300 <span class="keywordtype">bool</span> mConstrainedFace; 255 <a name="l00301"></a>00301 <span class="keywordtype">bool</span> mConstrainedY; 256 <a name="l00302"></a>00302 <span class="keywordtype">bool</span> mConstrainedZ; 257 <a name="l00303"></a>00303 <span class="keywordtype">bool</span> mReadAllowed; 258 <a name="l00304"></a>00304 <span class="keywordtype">bool</span> mWriteAllowed; 259 <a name="l00305"></a>00305 uint32_t mSelectedY; 260 <a name="l00306"></a>00306 uint32_t mSelectedZ; 261 <a name="l00307"></a>00307 uint32_t mSelectedLOD; 262 <a name="l00308"></a>00308 RsAllocationCubemapFace mSelectedFace; 263 <a name="l00309"></a>00309 264 <a name="l00310"></a>00310 uint32_t mCurrentDimX; 265 <a name="l00311"></a>00311 uint32_t mCurrentDimY; 266 <a name="l00312"></a>00312 uint32_t mCurrentDimZ; 267 <a name="l00313"></a>00313 uint32_t mCurrentCount; 268 <a name="l00314"></a>00314 269 <a name="l00315"></a>00315 <span class="keywordtype">void</span> * getIDSafe() <span class="keyword">const</span>; 270 <a name="l00316"></a>00316 <span class="keywordtype">void</span> updateCacheInfo(sp<const Type> t); 271 <a name="l00317"></a>00317 272 <a name="l00318"></a>00318 <a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs, sp<const Type> t, uint32_t usage); 273 <a name="l00319"></a>00319 274 <a name="l00320"></a>00320 <span class="keywordtype">void</span> validateIsInt32(); 275 <a name="l00321"></a>00321 <span class="keywordtype">void</span> validateIsInt16(); 276 <a name="l00322"></a>00322 <span class="keywordtype">void</span> validateIsInt8(); 277 <a name="l00323"></a>00323 <span class="keywordtype">void</span> validateIsFloat32(); 278 <a name="l00324"></a>00324 <span class="keywordtype">void</span> validateIsObject(); 279 <a name="l00325"></a>00325 280 <a name="l00326"></a>00326 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); 281 <a name="l00327"></a>00327 282 <a name="l00328"></a>00328 <span class="keywordtype">void</span> validate2DRange(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h); 283 <a name="l00329"></a>00329 <span class="keywordtype">void</span> validate3DRange(uint32_t xoff, uint32_t yoff, uint32_t zoff, 284 <a name="l00330"></a>00330 uint32_t w, uint32_t h, uint32_t d); 285 <a name="l00331"></a>00331 286 <a name="l00332"></a>00332 <span class="keyword">public</span>: 287 <a name="l00333"></a>00333 288 <a name="l00338"></a><a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5475e41c9a50ece302e238e06e5ba8f4">00338</a> sp<const Type> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5475e41c9a50ece302e238e06e5ba8f4">getType</a>()<span class="keyword"> const </span>{ 289 <a name="l00339"></a>00339 <span class="keywordflow">return</span> mType; 290 <a name="l00340"></a>00340 } 291 <a name="l00341"></a>00341 292 <a name="l00346"></a>00346 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a542d29449331bff6c8506b13c4daefeb">syncAll</a>(RsAllocationUsageType srcLocation); 293 <a name="l00347"></a>00347 <span class="keywordtype">void</span> ioSendOutput(); 294 <a name="l00348"></a>00348 <span class="keywordtype">void</span> ioGetInput(); 295 <a name="l00349"></a>00349 296 <a name="l00357"></a>00357 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a3c9f32ff3070f8a38e3a8c6e58ed7a82">generateMipmaps</a>(); 297 <a name="l00358"></a>00358 298 <a name="l00365"></a>00365 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ae10efeb0624dbdf7f32c013f8eff2c74">copy1DRangeFrom</a>(uint32_t off, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">void</span> *data); 299 <a name="l00366"></a>00366 300 <a name="l00374"></a>00374 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ae10efeb0624dbdf7f32c013f8eff2c74">copy1DRangeFrom</a>(uint32_t off, <span class="keywordtype">size_t</span> count, sp<const Allocation> data, uint32_t dataOff); 301 <a name="l00375"></a>00375 302 <a name="l00382"></a>00382 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a70125eb0577744f64512da1f6bdec69e">copy1DRangeTo</a>(uint32_t off, <span class="keywordtype">size_t</span> count, <span class="keywordtype">void</span> *data); 303 <a name="l00383"></a>00383 304 <a name="l00388"></a>00388 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ab3c6154ae194a83c7f639012d256d62d">copy1DFrom</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data); 305 <a name="l00389"></a>00389 306 <a name="l00394"></a>00394 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a6d2c79bd8b2f9a7b7036ae78e4b48ec4">copy1DTo</a>(<span class="keywordtype">void</span>* data); 307 <a name="l00395"></a>00395 308 <a name="l00405"></a>00405 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa4a59cd1098771c205bbd23d4f3b1065">copy2DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, 309 <a name="l00406"></a>00406 <span class="keyword">const</span> <span class="keywordtype">void</span> *data); 310 <a name="l00407"></a>00407 311 <a name="l00417"></a>00417 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a7522ec325ad4b30948b8b060b7750517">copy2DRangeTo</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, 312 <a name="l00418"></a>00418 <span class="keywordtype">void</span> *data); 313 <a name="l00419"></a>00419 314 <a name="l00430"></a>00430 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa4a59cd1098771c205bbd23d4f3b1065">copy2DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, 315 <a name="l00431"></a>00431 sp<const Allocation> data, uint32_t dataXoff, uint32_t dataYoff); 316 <a name="l00432"></a>00432 317 <a name="l00442"></a>00442 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5bb1d1b53dcc255beea566c50d34c3eb">copy2DStridedFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, 318 <a name="l00443"></a>00443 <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); 319 <a name="l00444"></a>00444 320 <a name="l00450"></a>00450 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a5bb1d1b53dcc255beea566c50d34c3eb">copy2DStridedFrom</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); 321 <a name="l00451"></a>00451 322 <a name="l00461"></a>00461 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ad4f2ce90d548f22d950002c9942833ca">copy2DStridedTo</a>(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, 323 <a name="l00462"></a>00462 <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); 324 <a name="l00463"></a>00463 325 <a name="l00469"></a>00469 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ad4f2ce90d548f22d950002c9942833ca">copy2DStridedTo</a>(<span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); 326 <a name="l00470"></a>00470 327 <a name="l00471"></a>00471 328 <a name="l00483"></a>00483 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ac0fe786fd3dc0d5e2278b6071ff78d84">copy3DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t zoff, uint32_t w, 329 <a name="l00484"></a>00484 uint32_t h, uint32_t d, <span class="keyword">const</span> <span class="keywordtype">void</span>* data); 330 <a name="l00485"></a>00485 331 <a name="l00499"></a>00499 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#ac0fe786fd3dc0d5e2278b6071ff78d84">copy3DRangeFrom</a>(uint32_t xoff, uint32_t yoff, uint32_t zoff, 332 <a name="l00500"></a>00500 uint32_t w, uint32_t h, uint32_t d, 333 <a name="l00501"></a>00501 sp<const Allocation> data, 334 <a name="l00502"></a>00502 uint32_t dataXoff, uint32_t dataYoff, uint32_t dataZoff); 335 <a name="l00503"></a>00503 336 <a name="l00512"></a>00512 <span class="keyword">static</span> sp<Allocation> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp<RS> rs, sp<const Type> type, 337 <a name="l00513"></a>00513 RsAllocationMipmapControl mipmaps, uint32_t usage); 338 <a name="l00514"></a>00514 339 <a name="l00525"></a>00525 <span class="keyword">static</span> sp<Allocation> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp<RS> rs, sp<const Type> type, 340 <a name="l00526"></a>00526 RsAllocationMipmapControl mipmaps, uint32_t usage, <span class="keywordtype">void</span> * pointer); 341 <a name="l00527"></a>00527 342 <a name="l00535"></a>00535 <span class="keyword">static</span> sp<Allocation> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a983b914efa208763b4b58db62586f138">createTyped</a>(sp<RS> rs, sp<const Type> type, 343 <a name="l00536"></a>00536 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); 344 <a name="l00545"></a>00545 <span class="keyword">static</span> sp<Allocation> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#afd281c4fccca4bf1f69dd2cbdfafb96c">createSized</a>(sp<RS> rs, sp<const Element> e, <span class="keywordtype">size_t</span> count, 345 <a name="l00546"></a>00546 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); 346 <a name="l00547"></a>00547 347 <a name="l00557"></a>00557 <span class="keyword">static</span> sp<Allocation> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#aa20d012e4df254a06c595527e9203e75">createSized2D</a>(sp<RS> rs, sp<const Element> e, 348 <a name="l00558"></a>00558 <span class="keywordtype">size_t</span> x, <span class="keywordtype">size_t</span> y, 349 <a name="l00559"></a>00559 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); 350 <a name="l00560"></a>00560 351 <a name="l00561"></a>00561 352 <a name="l00562"></a>00562 }; 353 <a name="l00563"></a>00563 354 <a name="l00584"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html">00584</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> { 355 <a name="l00585"></a>00585 <span class="keyword">public</span>: 356 <a name="l00586"></a>00586 <span class="keywordtype">bool</span> isComplex(); 357 <a name="l00587"></a>00587 358 <a name="l00595"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a3bc7d03d3f6d1b130592e4192aeeedc9">00595</a> <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3bc7d03d3f6d1b130592e4192aeeedc9">getSubElementCount</a>() { 359 <a name="l00596"></a>00596 <span class="keywordflow">return</span> mVisibleElementMap.size(); 360 <a name="l00597"></a>00597 } 361 <a name="l00598"></a>00598 362 <a name="l00604"></a>00604 sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5a23869e7d2a8c22e0d70bf5a90448d1">getSubElement</a>(uint32_t index); 363 <a name="l00605"></a>00605 364 <a name="l00612"></a>00612 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classandroid_1_1RSC_1_1Element.html#adb8f953d025b4ea03dd19678c69d4f5a">getSubElementName</a>(uint32_t index); 365 <a name="l00613"></a>00613 366 <a name="l00620"></a>00620 <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a004e582191292906e3c20cca7c38ff71">getSubElementArraySize</a>(uint32_t index); 367 <a name="l00621"></a>00621 368 <a name="l00627"></a>00627 uint32_t <a class="code" href="classandroid_1_1RSC_1_1Element.html#adaf83e7649e7fd0dfe4b8e2c884bfa5a">getSubElementOffsetBytes</a>(uint32_t index); 369 <a name="l00628"></a>00628 370 <a name="l00633"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a8534de74929342ed32f271ddfd446a5a">00633</a> RsDataType <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8534de74929342ed32f271ddfd446a5a">getDataType</a>()<span class="keyword"> const </span>{ 371 <a name="l00634"></a>00634 <span class="keywordflow">return</span> mType; 372 <a name="l00635"></a>00635 } 373 <a name="l00636"></a>00636 374 <a name="l00641"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#aa30bc1b991015ac6c1915229e04a9cca">00641</a> RsDataKind <a class="code" href="classandroid_1_1RSC_1_1Element.html#aa30bc1b991015ac6c1915229e04a9cca">getDataKind</a>()<span class="keyword"> const </span>{ 375 <a name="l00642"></a>00642 <span class="keywordflow">return</span> mKind; 376 <a name="l00643"></a>00643 } 377 <a name="l00644"></a>00644 378 <a name="l00649"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#a5368abfd727463499d49775733cb0cf6">00649</a> <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5368abfd727463499d49775733cb0cf6">getSizeBytes</a>()<span class="keyword"> const </span>{ 379 <a name="l00650"></a>00650 <span class="keywordflow">return</span> mSizeBytes; 380 <a name="l00651"></a>00651 } 381 <a name="l00652"></a>00652 382 <a name="l00657"></a><a class="code" href="classandroid_1_1RSC_1_1Element.html#abdae22ce17b81b9c931f02481302ca46">00657</a> uint32_t <a class="code" href="classandroid_1_1RSC_1_1Element.html#abdae22ce17b81b9c931f02481302ca46">getVectorSize</a>()<span class="keyword"> const </span>{ 383 <a name="l00658"></a>00658 <span class="keywordflow">return</span> mVectorSize; 384 <a name="l00659"></a>00659 } 385 <a name="l00660"></a>00660 386 <a name="l00666"></a>00666 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a03eb94692c2a7ffd8353373ef416876b">BOOLEAN</a>(sp<RS> rs); 387 <a name="l00672"></a>00672 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a685e0e76cedd4d457f20fe4e36ab00b8">U8</a>(sp<RS> rs); 388 <a name="l00678"></a>00678 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a253a510dd720bade6324e94dd2bf6064">I8</a>(sp<RS> rs); 389 <a name="l00684"></a>00684 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae6664c469040672733532b8d46181974">U16</a>(sp<RS> rs); 390 <a name="l00690"></a>00690 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a909e326836fa1931b7d013b72bb238b9">I16</a>(sp<RS> rs); 391 <a name="l00696"></a>00696 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a97c43a4c829fa6bf7b788e25ab38dc63">U32</a>(sp<RS> rs); 392 <a name="l00702"></a>00702 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4a71a4bd7f73708084abaf059f3b69d9">I32</a>(sp<RS> rs); 393 <a name="l00708"></a>00708 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3c45ab8ce73a2e652bcdfe8b632f870a">U64</a>(sp<RS> rs); 394 <a name="l00714"></a>00714 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8c5ef3c359e3ce8b03cfb7ebfaaa4723">I64</a>(sp<RS> rs); 395 <a name="l00720"></a>00720 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7cd574aa920bcf0bd7676ef12e8faf86">F32</a>(sp<RS> rs); 396 <a name="l00726"></a>00726 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2a156b02415f3c7781306757b4e6ff86">F64</a>(sp<RS> rs); 397 <a name="l00732"></a>00732 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a52d7864dc41cdf9a9bccffd02564f88f">ELEMENT</a>(sp<RS> rs); 398 <a name="l00738"></a>00738 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad426d4adfccc00804ecd29397dfcae4b">TYPE</a>(sp<RS> rs); 399 <a name="l00744"></a>00744 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad7cec967de7508ed5f51ccecc3e43958">ALLOCATION</a>(sp<RS> rs); 400 <a name="l00750"></a>00750 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3fef8f6e13144323e5abe23f93727faa">SAMPLER</a>(sp<RS> rs); 401 <a name="l00756"></a>00756 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a98a7cc92c40fee058b69045a7b9b25da">SCRIPT</a>(sp<RS> rs); 402 <a name="l00762"></a>00762 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5c5ab41b9abcdc410b5ad9bc033f969e">A_8</a>(sp<RS> rs); 403 <a name="l00768"></a>00768 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ab7c867004008b4f4bd3492db8f142e0a">RGB_565</a>(sp<RS> rs); 404 <a name="l00774"></a>00774 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a68e4d393957b1236247d6c03de8508ac">RGB_888</a>(sp<RS> rs); 405 <a name="l00780"></a>00780 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a22d97b36faf9a6e5cb68a8154e2b0d6b">RGBA_5551</a>(sp<RS> rs); 406 <a name="l00786"></a>00786 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#aaba22a166b24a8cc18bea2f1b2c05b65">RGBA_4444</a>(sp<RS> rs); 407 <a name="l00792"></a>00792 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a3499096cd7c11fea3711d61f39fdc3b4">RGBA_8888</a>(sp<RS> rs); 408 <a name="l00793"></a>00793 409 <a name="l00799"></a>00799 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ab61e4800f47caea120ec50ca0fb57505">F32_2</a>(sp<RS> rs); 410 <a name="l00805"></a>00805 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a97d4c34ac8c682c112b4f2cf894142d3">F32_3</a>(sp<RS> rs); 411 <a name="l00811"></a>00811 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a388d2e9812c4ff4610de74a40a49467e">F32_4</a>(sp<RS> rs); 412 <a name="l00817"></a>00817 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2702b5676a8a91307be1ccaa30b396b4">F64_2</a>(sp<RS> rs); 413 <a name="l00823"></a>00823 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4010587d58497cdf511ada9aae7674ce">F64_3</a>(sp<RS> rs); 414 <a name="l00829"></a>00829 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae2a9038ba6526d40628e5f9689469221">F64_4</a>(sp<RS> rs); 415 <a name="l00835"></a>00835 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a16372b6701a2ae427b91f034f98f8969">U8_2</a>(sp<RS> rs); 416 <a name="l00841"></a>00841 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a8a4a66f1f8bcce2e71f7af910043d820">U8_3</a>(sp<RS> rs); 417 <a name="l00847"></a>00847 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ac20649353c9aa97b557c9e254f67492f">U8_4</a>(sp<RS> rs); 418 <a name="l00853"></a>00853 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a92a9ec1f2c19ee13a7c869502cbc08ae">I8_2</a>(sp<RS> rs); 419 <a name="l00859"></a>00859 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4d064b750ac65f8caf9fdf9f69271d02">I8_3</a>(sp<RS> rs); 420 <a name="l00865"></a>00865 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ad05e74d257665041085a3f5ab2c3a2b0">I8_4</a>(sp<RS> rs); 421 <a name="l00871"></a>00871 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a0fd26a84b5ccc124b09babbd03258e65">U16_2</a>(sp<RS> rs); 422 <a name="l00877"></a>00877 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a76949cad4eacff904a5edfdd71361539">U16_3</a>(sp<RS> rs); 423 <a name="l00883"></a>00883 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a55684e38747445df7d4ed2b8502a5e15">U16_4</a>(sp<RS> rs); 424 <a name="l00889"></a>00889 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7323339691ded8b0b50e3b099ec90c3a">I16_2</a>(sp<RS> rs); 425 <a name="l00895"></a>00895 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#acd84e217f33bfb744315b2340752370e">I16_3</a>(sp<RS> rs); 426 <a name="l00901"></a>00901 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4c57bb50d919386c1d0fed978f18b6f8">I16_4</a>(sp<RS> rs); 427 <a name="l00907"></a>00907 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a26a9a26622a8d068781a0d7eef87dab5">U32_2</a>(sp<RS> rs); 428 <a name="l00913"></a>00913 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a2bd4aef93cd7039e6a093243dbb69fd2">U32_3</a>(sp<RS> rs); 429 <a name="l00919"></a>00919 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#adcceb18cbe85edc2f62af6e751ae64bc">U32_4</a>(sp<RS> rs); 430 <a name="l00925"></a>00925 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a837431e95049bcc539c466ce1502277f">I32_2</a>(sp<RS> rs); 431 <a name="l00931"></a>00931 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a167926bf1978d84952bf53332313a329">I32_3</a>(sp<RS> rs); 432 <a name="l00937"></a>00937 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#abd04541c11096d72c59a174eeec1ef69">I32_4</a>(sp<RS> rs); 433 <a name="l00943"></a>00943 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a4ac012a1e70e98bcffe1a951f4e512ec">U64_2</a>(sp<RS> rs); 434 <a name="l00949"></a>00949 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a313588f5b66a041a7336a883f9bbc59f">U64_3</a>(sp<RS> rs); 435 <a name="l00955"></a>00955 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a7df301be899fbbf7d6a43b160b9de9ff">U64_4</a>(sp<RS> rs); 436 <a name="l00961"></a>00961 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a47dc785bde64d663ee3b29f524bc16d7">I64_2</a>(sp<RS> rs); 437 <a name="l00967"></a>00967 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#aeee892900573bb25af7e1615c2249685">I64_3</a>(sp<RS> rs); 438 <a name="l00973"></a>00973 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a0359b89391ace9ba2982857f17007037">I64_4</a>(sp<RS> rs); 439 <a name="l00979"></a>00979 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ac1636fe09e6df6f390e13f9eec1f301a">YUV</a>(sp<RS> rs); 440 <a name="l00985"></a>00985 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#ae86d34af397b300dc5bcd2bb853ae799">MATRIX_4X4</a>(sp<RS> rs); 441 <a name="l00991"></a>00991 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a6fece5a3cfdbeec8c6956363efd2abda">MATRIX_3X3</a>(sp<RS> rs); 442 <a name="l00997"></a>00997 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a437926b22d3c5daa3faa27e7a20df272">MATRIX_2X2</a>(sp<RS> rs); 443 <a name="l00998"></a>00998 444 <a name="l00999"></a>00999 <span class="keywordtype">void</span> updateFromNative(); 445 <a name="l01000"></a>01000 446 <a name="l01007"></a>01007 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#afaf1fb2fb0c2ad977867ef5ac098a4b6">createUser</a>(sp<RS> rs, RsDataType dt); 447 <a name="l01015"></a>01015 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a12061ba6e9db8bfefeddb934123e8fc7">createVector</a>(sp<RS> rs, RsDataType dt, uint32_t size); 448 <a name="l01023"></a>01023 <span class="keyword">static</span> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#aeeca0087ef6e895d76b3048828f0e481">createPixel</a>(sp<RS> rs, RsDataType dt, RsDataKind dk); 449 <a name="l01024"></a>01024 450 <a name="l01030"></a>01030 <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a66e7b5cccf8f7296bc049308d3990d66">isCompatible</a>(sp<const Element>e) <span class="keyword">const</span>; 451 <a name="l01031"></a>01031 452 <a name="l01037"></a><a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">01037</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a> { 453 <a name="l01038"></a>01038 <span class="keyword">private</span>: 454 <a name="l01039"></a>01039 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; 455 <a name="l01040"></a>01040 std::vector<sp<Element> > mElements; 456 <a name="l01041"></a>01041 std::vector<std::string> mElementNames; 457 <a name="l01042"></a>01042 std::vector<uint32_t> mArraySizes; 458 <a name="l01043"></a>01043 <span class="keywordtype">bool</span> mSkipPadding; 459 <a name="l01044"></a>01044 460 <a name="l01045"></a>01045 <span class="keyword">public</span>: 461 <a name="l01046"></a>01046 <a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>(sp<RS> rs); 462 <a name="l01047"></a>01047 ~<a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>(); 463 <a name="l01048"></a>01048 <span class="keywordtype">void</span> add(sp<Element> e, std::string &name, uint32_t arraySize = 1); 464 <a name="l01049"></a>01049 sp<const Element> create(); 465 <a name="l01050"></a>01050 }; 466 <a name="l01051"></a>01051 467 <a name="l01052"></a>01052 <span class="keyword">protected</span>: 468 <a name="l01053"></a>01053 <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs, 469 <a name="l01054"></a>01054 std::vector<sp<Element> > &elements, 470 <a name="l01055"></a>01055 std::vector<std::string> &elementNames, 471 <a name="l01056"></a>01056 std::vector<uint32_t> &arraySizes); 472 <a name="l01057"></a>01057 <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs, RsDataType dt, RsDataKind dk, <span class="keywordtype">bool</span> norm, uint32_t size); 473 <a name="l01058"></a>01058 <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(sp<RS> rs); 474 <a name="l01059"></a>01059 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(); 475 <a name="l01060"></a>01060 476 <a name="l01061"></a>01061 <span class="keyword">private</span>: 477 <a name="l01062"></a>01062 <span class="keywordtype">void</span> updateVisibleSubElements(); 478 <a name="l01063"></a>01063 479 <a name="l01064"></a>01064 std::vector<sp<Element> > mElements; 480 <a name="l01065"></a>01065 std::vector<std::string> mElementNames; 481 <a name="l01066"></a>01066 std::vector<uint32_t> mArraySizes; 482 <a name="l01067"></a>01067 std::vector<uint32_t> mVisibleElementMap; 483 <a name="l01068"></a>01068 std::vector<uint32_t> mOffsetInBytes; 484 <a name="l01069"></a>01069 485 <a name="l01070"></a>01070 RsDataType mType; 486 <a name="l01071"></a>01071 RsDataKind mKind; 487 <a name="l01072"></a>01072 <span class="keywordtype">bool</span> mNormalized; 488 <a name="l01073"></a>01073 <span class="keywordtype">size_t</span> mSizeBytes; 489 <a name="l01074"></a>01074 <span class="keywordtype">size_t</span> mVectorSize; 490 <a name="l01075"></a>01075 }; 491 <a name="l01076"></a>01076 492 <a name="l01077"></a><a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">01077</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a> { 493 <a name="l01078"></a>01078 <span class="keyword">protected</span>: 494 <a name="l01079"></a>01079 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* mData; 495 <a name="l01080"></a>01080 <span class="keywordtype">size_t</span> mPos; 496 <a name="l01081"></a>01081 <span class="keywordtype">size_t</span> mLen; 497 <a name="l01082"></a>01082 498 <a name="l01083"></a>01083 <span class="keyword">public</span>: 499 <a name="l01084"></a>01084 <a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>(<span class="keywordtype">size_t</span> len) 500 <a name="l01085"></a>01085 : mPos(0), mLen(len) { 501 <a name="l01086"></a>01086 mData = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>[len]; 502 <a name="l01087"></a>01087 } 503 <a name="l01088"></a>01088 504 <a name="l01089"></a>01089 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>() { 505 <a name="l01090"></a>01090 <span class="keyword">delete</span> [] mData; 506 <a name="l01091"></a>01091 } 507 <a name="l01092"></a>01092 508 <a name="l01093"></a>01093 <span class="keywordtype">void</span> align(<span class="keywordtype">size_t</span> v) { 509 <a name="l01094"></a>01094 <span class="keywordflow">if</span> ((v & (v - 1)) != 0) { 510 <a name="l01095"></a>01095 <span class="comment">// ALOGE("Non-power-of-two alignment: %zu", v);</span> 511 <a name="l01096"></a>01096 <span class="keywordflow">return</span>; 512 <a name="l01097"></a>01097 } 513 <a name="l01098"></a>01098 514 <a name="l01099"></a>01099 <span class="keywordflow">while</span> ((mPos & (v - 1)) != 0) { 515 <a name="l01100"></a>01100 mData[mPos++] = 0; 516 <a name="l01101"></a>01101 } 517 <a name="l01102"></a>01102 } 518 <a name="l01103"></a>01103 519 <a name="l01104"></a>01104 <span class="keywordtype">void</span> reset() { 520 <a name="l01105"></a>01105 mPos = 0; 521 <a name="l01106"></a>01106 } 522 <a name="l01107"></a>01107 523 <a name="l01108"></a>01108 <span class="keywordtype">void</span> reset(<span class="keywordtype">size_t</span> i) { 524 <a name="l01109"></a>01109 <span class="keywordflow">if</span> (i >= mLen) { 525 <a name="l01110"></a>01110 <span class="comment">// ALOGE("Out of bounds: i (%zu) >= len (%zu)", i, mLen);</span> 526 <a name="l01111"></a>01111 <span class="keywordflow">return</span>; 527 <a name="l01112"></a>01112 } 528 <a name="l01113"></a>01113 mPos = i; 529 <a name="l01114"></a>01114 } 530 <a name="l01115"></a>01115 531 <a name="l01116"></a>01116 <span class="keywordtype">void</span> skip(<span class="keywordtype">size_t</span> i) { 532 <a name="l01117"></a>01117 <span class="keywordtype">size_t</span> res = mPos + i; 533 <a name="l01118"></a>01118 <span class="keywordflow">if</span> (res > mLen) { 534 <a name="l01119"></a>01119 <span class="comment">// ALOGE("Exceeded buffer length: i (%zu) > len (%zu)", i, mLen);</span> 535 <a name="l01120"></a>01120 <span class="keywordflow">return</span>; 536 <a name="l01121"></a>01121 } 537 <a name="l01122"></a>01122 mPos = res; 538 <a name="l01123"></a>01123 } 539 <a name="l01124"></a>01124 540 <a name="l01125"></a>01125 <span class="keywordtype">void</span>* getData()<span class="keyword"> const </span>{ 541 <a name="l01126"></a>01126 <span class="keywordflow">return</span> mData; 542 <a name="l01127"></a>01127 } 543 <a name="l01128"></a>01128 544 <a name="l01129"></a>01129 <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{ 545 <a name="l01130"></a>01130 <span class="keywordflow">return</span> mLen; 546 <a name="l01131"></a>01131 } 547 <a name="l01132"></a>01132 548 <a name="l01133"></a>01133 <span class="keyword">template</span> <<span class="keyword">typename</span> T> 549 <a name="l01134"></a>01134 <span class="keywordtype">void</span> add(T t) { 550 <a name="l01135"></a>01135 align(<span class="keyword">sizeof</span>(t)); 551 <a name="l01136"></a>01136 <span class="keywordflow">if</span> (mPos + <span class="keyword">sizeof</span>(t) <= mLen) { 552 <a name="l01137"></a>01137 memcpy(&mData[mPos], &t, <span class="keyword">sizeof</span>(t)); 553 <a name="l01138"></a>01138 mPos += <span class="keyword">sizeof</span>(t); 554 <a name="l01139"></a>01139 } 555 <a name="l01140"></a>01140 } 556 <a name="l01141"></a>01141 557 <a name="l01142"></a>01142 <span class="comment">/*</span> 558 <a name="l01143"></a>01143 <span class="comment"> void add(rs_matrix4x4 m) {</span> 559 <a name="l01144"></a>01144 <span class="comment"> for (size_t i = 0; i < 16; i++) {</span> 560 <a name="l01145"></a>01145 <span class="comment"> add(m.m[i]);</span> 561 <a name="l01146"></a>01146 <span class="comment"> }</span> 562 <a name="l01147"></a>01147 <span class="comment"> }</span> 563 <a name="l01148"></a>01148 <span class="comment"></span> 564 <a name="l01149"></a>01149 <span class="comment"> void add(rs_matrix3x3 m) {</span> 565 <a name="l01150"></a>01150 <span class="comment"> for (size_t i = 0; i < 9; i++) {</span> 566 <a name="l01151"></a>01151 <span class="comment"> add(m.m[i]);</span> 567 <a name="l01152"></a>01152 <span class="comment"> }</span> 568 <a name="l01153"></a>01153 <span class="comment"> }</span> 569 <a name="l01154"></a>01154 <span class="comment"></span> 570 <a name="l01155"></a>01155 <span class="comment"> void add(rs_matrix2x2 m) {</span> 571 <a name="l01156"></a>01156 <span class="comment"> for (size_t i = 0; i < 4; i++) {</span> 572 <a name="l01157"></a>01157 <span class="comment"> add(m.m[i]);</span> 573 <a name="l01158"></a>01158 <span class="comment"> }</span> 574 <a name="l01159"></a>01159 <span class="comment"> }</span> 575 <a name="l01160"></a>01160 <span class="comment"> */</span> 576 <a name="l01161"></a>01161 577 <a name="l01162"></a>01162 <span class="keywordtype">void</span> add(sp<BaseObj> obj) { 578 <a name="l01163"></a>01163 <span class="keywordflow">if</span> (obj != NULL) { 579 <a name="l01164"></a>01164 add((uint32_t) (uintptr_t) obj->getID()); 580 <a name="l01165"></a>01165 } <span class="keywordflow">else</span> { 581 <a name="l01166"></a>01166 add((uint32_t) 0); 582 <a name="l01167"></a>01167 } 583 <a name="l01168"></a>01168 } 584 <a name="l01169"></a>01169 }; 585 <a name="l01170"></a>01170 586 <a name="l01188"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html">01188</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Type.html">Type</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> { 587 <a name="l01189"></a>01189 <span class="keyword">protected</span>: 588 <a name="l01190"></a>01190 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Allocation.html">Allocation</a>; 589 <a name="l01191"></a>01191 590 <a name="l01192"></a>01192 uint32_t mDimX; 591 <a name="l01193"></a>01193 uint32_t mDimY; 592 <a name="l01194"></a>01194 uint32_t mDimZ; 593 <a name="l01195"></a>01195 RSYuvFormat mYuvFormat; 594 <a name="l01196"></a>01196 <span class="keywordtype">bool</span> mDimMipmaps; 595 <a name="l01197"></a>01197 <span class="keywordtype">bool</span> mDimFaces; 596 <a name="l01198"></a>01198 <span class="keywordtype">size_t</span> mElementCount; 597 <a name="l01199"></a>01199 sp<const Element> mElement; 598 <a name="l01200"></a>01200 599 <a name="l01201"></a>01201 <a class="code" href="classandroid_1_1RSC_1_1Type.html">Type</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs); 600 <a name="l01202"></a>01202 601 <a name="l01203"></a>01203 <span class="keywordtype">void</span> calcElementCount(); 602 <a name="l01204"></a>01204 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); 603 <a name="l01205"></a>01205 604 <a name="l01206"></a>01206 <span class="keyword">public</span>: 605 <a name="l01207"></a>01207 606 <a name="l01212"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ac4ad2c5b3c9a4758b356b2152f03d4e8">01212</a> RSYuvFormat <a class="code" href="classandroid_1_1RSC_1_1Type.html#ac4ad2c5b3c9a4758b356b2152f03d4e8">getYuvFormat</a>()<span class="keyword"> const </span>{ 607 <a name="l01213"></a>01213 <span class="keywordflow">return</span> mYuvFormat; 608 <a name="l01214"></a>01214 } 609 <a name="l01215"></a>01215 610 <a name="l01220"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a258364640b18256c338178b056fcc2d6">01220</a> sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a258364640b18256c338178b056fcc2d6">getElement</a>()<span class="keyword"> const </span>{ 611 <a name="l01221"></a>01221 <span class="keywordflow">return</span> mElement; 612 <a name="l01222"></a>01222 } 613 <a name="l01223"></a>01223 614 <a name="l01228"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ad324073e4cb9144f225fbea6074b3564">01228</a> uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#ad324073e4cb9144f225fbea6074b3564">getX</a>()<span class="keyword"> const </span>{ 615 <a name="l01229"></a>01229 <span class="keywordflow">return</span> mDimX; 616 <a name="l01230"></a>01230 } 617 <a name="l01231"></a>01231 618 <a name="l01236"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ae3f2a8d78737664290c9da35e5afc284">01236</a> uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#ae3f2a8d78737664290c9da35e5afc284">getY</a>()<span class="keyword"> const </span>{ 619 <a name="l01237"></a>01237 <span class="keywordflow">return</span> mDimY; 620 <a name="l01238"></a>01238 } 621 <a name="l01239"></a>01239 622 <a name="l01244"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a6640a753fb08cb9413559021b3f37665">01244</a> uint32_t <a class="code" href="classandroid_1_1RSC_1_1Type.html#a6640a753fb08cb9413559021b3f37665">getZ</a>()<span class="keyword"> const </span>{ 623 <a name="l01245"></a>01245 <span class="keywordflow">return</span> mDimZ; 624 <a name="l01246"></a>01246 } 625 <a name="l01247"></a>01247 626 <a name="l01252"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#ac0e02c8a4926a35f6237b00d3af3f829">01252</a> <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#ac0e02c8a4926a35f6237b00d3af3f829">hasMipmaps</a>()<span class="keyword"> const </span>{ 627 <a name="l01253"></a>01253 <span class="keywordflow">return</span> mDimMipmaps; 628 <a name="l01254"></a>01254 } 629 <a name="l01255"></a>01255 630 <a name="l01260"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#adc58082d46bfc33efc0232b2a85b5278">01260</a> <span class="keywordtype">bool</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#adc58082d46bfc33efc0232b2a85b5278">hasFaces</a>()<span class="keyword"> const </span>{ 631 <a name="l01261"></a>01261 <span class="keywordflow">return</span> mDimFaces; 632 <a name="l01262"></a>01262 } 633 <a name="l01263"></a>01263 634 <a name="l01268"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a0fa390504b01957f1f9fe9e34899621c">01268</a> <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a0fa390504b01957f1f9fe9e34899621c">getCount</a>()<span class="keyword"> const </span>{ 635 <a name="l01269"></a>01269 <span class="keywordflow">return</span> mElementCount; 636 <a name="l01270"></a>01270 } 637 <a name="l01271"></a>01271 638 <a name="l01276"></a><a class="code" href="classandroid_1_1RSC_1_1Type.html#a046466fc4156806d9d133d38af965380">01276</a> <span class="keywordtype">size_t</span> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a046466fc4156806d9d133d38af965380">getSizeBytes</a>()<span class="keyword"> const </span>{ 639 <a name="l01277"></a>01277 <span class="keywordflow">return</span> mElementCount * mElement->getSizeBytes(); 640 <a name="l01278"></a>01278 } 641 <a name="l01279"></a>01279 642 <a name="l01289"></a>01289 <span class="keyword">static</span> sp<const Type> <a class="code" href="classandroid_1_1RSC_1_1Type.html#a26a26f44a40ffa8cc650152c3f834989">create</a>(sp<RS> rs, sp<const Element> e, uint32_t dimX, uint32_t dimY, uint32_t dimZ); 643 <a name="l01290"></a>01290 644 <a name="l01291"></a><a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">01291</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">Builder</a> { 645 <a name="l01292"></a>01292 <span class="keyword">protected</span>: 646 <a name="l01293"></a>01293 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; 647 <a name="l01294"></a>01294 uint32_t mDimX; 648 <a name="l01295"></a>01295 uint32_t mDimY; 649 <a name="l01296"></a>01296 uint32_t mDimZ; 650 <a name="l01297"></a>01297 RSYuvFormat mYuvFormat; 651 <a name="l01298"></a>01298 <span class="keywordtype">bool</span> mDimMipmaps; 652 <a name="l01299"></a>01299 <span class="keywordtype">bool</span> mDimFaces; 653 <a name="l01300"></a>01300 sp<const Element> mElement; 654 <a name="l01301"></a>01301 655 <a name="l01302"></a>01302 <span class="keyword">public</span>: 656 <a name="l01303"></a>01303 <a class="code" href="classandroid_1_1RSC_1_1Type_1_1Builder.html">Builder</a>(sp<RS> rs, sp<const Element> e); 657 <a name="l01304"></a>01304 658 <a name="l01305"></a>01305 <span class="keywordtype">void</span> setX(uint32_t value); 659 <a name="l01306"></a>01306 <span class="keywordtype">void</span> setY(uint32_t value); 660 <a name="l01307"></a>01307 <span class="keywordtype">void</span> setZ(uint32_t value); 661 <a name="l01308"></a>01308 <span class="keywordtype">void</span> setYuvFormat(RSYuvFormat format); 662 <a name="l01309"></a>01309 <span class="keywordtype">void</span> setMipmaps(<span class="keywordtype">bool</span> value); 663 <a name="l01310"></a>01310 <span class="keywordtype">void</span> setFaces(<span class="keywordtype">bool</span> value); 664 <a name="l01311"></a>01311 sp<const Type> create(); 665 <a name="l01312"></a>01312 }; 666 <a name="l01313"></a>01313 667 <a name="l01314"></a>01314 }; 668 <a name="l01315"></a>01315 669 <a name="l01319"></a><a class="code" href="classandroid_1_1RSC_1_1Script.html">01319</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> { 670 <a name="l01320"></a>01320 <span class="keyword">private</span>: 671 <a name="l01321"></a>01321 672 <a name="l01322"></a>01322 <span class="keyword">protected</span>: 673 <a name="l01323"></a>01323 <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a>(<span class="keywordtype">void</span> *<span class="keywordtype">id</span>, sp<RS> rs); 674 <a name="l01324"></a>01324 <span class="keywordtype">void</span> forEach(uint32_t slot, sp<const Allocation> in, sp<const Allocation> out, 675 <a name="l01325"></a>01325 <span class="keyword">const</span> <span class="keywordtype">void</span> *v, <span class="keywordtype">size_t</span>) <span class="keyword">const</span>; 676 <a name="l01326"></a>01326 <span class="keywordtype">void</span> bindAllocation(sp<Allocation> va, uint32_t slot) <span class="keyword">const</span>; 677 <a name="l01327"></a>01327 <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keyword">const</span> <span class="keywordtype">void</span> *, <span class="keywordtype">size_t</span> len) <span class="keyword">const</span>; 678 <a name="l01328"></a>01328 <span class="keywordtype">void</span> setVar(uint32_t index, sp<const BaseObj> o) <span class="keyword">const</span>; 679 <a name="l01329"></a>01329 <span class="keywordtype">void</span> invoke(uint32_t slot, <span class="keyword">const</span> <span class="keywordtype">void</span> *v, <span class="keywordtype">size_t</span> len) <span class="keyword">const</span>; 680 <a name="l01330"></a>01330 681 <a name="l01331"></a>01331 682 <a name="l01332"></a>01332 <span class="keywordtype">void</span> invoke(uint32_t slot)<span class="keyword"> const </span>{ 683 <a name="l01333"></a>01333 invoke(slot, NULL, 0); 684 <a name="l01334"></a>01334 } 685 <a name="l01335"></a>01335 <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">float</span> v)<span class="keyword"> const </span>{ 686 <a name="l01336"></a>01336 setVar(index, &v, <span class="keyword">sizeof</span>(v)); 687 <a name="l01337"></a>01337 } 688 <a name="l01338"></a>01338 <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">double</span> v)<span class="keyword"> const </span>{ 689 <a name="l01339"></a>01339 setVar(index, &v, <span class="keyword">sizeof</span>(v)); 690 <a name="l01340"></a>01340 } 691 <a name="l01341"></a>01341 <span class="keywordtype">void</span> setVar(uint32_t index, int32_t v)<span class="keyword"> const </span>{ 692 <a name="l01342"></a>01342 setVar(index, &v, <span class="keyword">sizeof</span>(v)); 693 <a name="l01343"></a>01343 } 694 <a name="l01344"></a>01344 <span class="keywordtype">void</span> setVar(uint32_t index, int64_t v)<span class="keyword"> const </span>{ 695 <a name="l01345"></a>01345 setVar(index, &v, <span class="keyword">sizeof</span>(v)); 696 <a name="l01346"></a>01346 } 697 <a name="l01347"></a>01347 <span class="keywordtype">void</span> setVar(uint32_t index, <span class="keywordtype">bool</span> v)<span class="keyword"> const </span>{ 698 <a name="l01348"></a>01348 setVar(index, &v, <span class="keyword">sizeof</span>(v)); 699 <a name="l01349"></a>01349 } 700 <a name="l01350"></a>01350 701 <a name="l01351"></a>01351 <span class="keyword">public</span>: 702 <a name="l01352"></a><a class="code" href="classandroid_1_1RSC_1_1Script_1_1FieldBase.html">01352</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Script_1_1FieldBase.html">FieldBase</a> { 703 <a name="l01353"></a>01353 <span class="keyword">protected</span>: 704 <a name="l01354"></a>01354 sp<const Element> mElement; 705 <a name="l01355"></a>01355 sp<Allocation> mAllocation; 706 <a name="l01356"></a>01356 707 <a name="l01357"></a>01357 <span class="keywordtype">void</span> init(sp<RS> rs, uint32_t dimx, uint32_t usages = 0); 708 <a name="l01358"></a>01358 709 <a name="l01359"></a>01359 <span class="keyword">public</span>: 710 <a name="l01360"></a>01360 sp<const Element> getElement() { 711 <a name="l01361"></a>01361 <span class="keywordflow">return</span> mElement; 712 <a name="l01362"></a>01362 } 713 <a name="l01363"></a>01363 714 <a name="l01364"></a>01364 sp<const Type> getType() { 715 <a name="l01365"></a>01365 <span class="keywordflow">return</span> mAllocation->getType(); 716 <a name="l01366"></a>01366 } 717 <a name="l01367"></a>01367 718 <a name="l01368"></a>01368 sp<const Allocation> getAllocation() { 719 <a name="l01369"></a>01369 <span class="keywordflow">return</span> mAllocation; 720 <a name="l01370"></a>01370 } 721 <a name="l01371"></a>01371 722 <a name="l01372"></a>01372 <span class="comment">//void updateAllocation();</span> 723 <a name="l01373"></a>01373 }; 724 <a name="l01374"></a>01374 }; 725 <a name="l01375"></a>01375 726 <a name="l01379"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">01379</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">ScriptC</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> { 727 <a name="l01380"></a>01380 <span class="keyword">protected</span>: 728 <a name="l01381"></a>01381 <a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">ScriptC</a>(sp<RS> rs, 729 <a name="l01382"></a>01382 <span class="keyword">const</span> <span class="keywordtype">void</span> *codeTxt, <span class="keywordtype">size_t</span> codeLength, 730 <a name="l01383"></a>01383 <span class="keyword">const</span> <span class="keywordtype">char</span> *cachedName, <span class="keywordtype">size_t</span> cachedNameLength, 731 <a name="l01384"></a>01384 <span class="keyword">const</span> <span class="keywordtype">char</span> *cacheDir, <span class="keywordtype">size_t</span> cacheDirLength); 732 <a name="l01385"></a>01385 733 <a name="l01386"></a>01386 }; 734 <a name="l01387"></a>01387 735 <a name="l01392"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">01392</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1Script.html">Script</a> { 736 <a name="l01393"></a>01393 <span class="keyword">protected</span>: 737 <a name="l01394"></a>01394 sp<const Element> mElement; 738 <a name="l01395"></a>01395 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a>(sp<RS> rs, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, sp<const Element> e); 739 <a name="l01396"></a>01396 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a>(); 740 <a name="l01397"></a>01397 }; 741 <a name="l01398"></a>01398 742 <a name="l01405"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">01405</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">ScriptIntrinsic3DLUT</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 743 <a name="l01406"></a>01406 <span class="keyword">private</span>: 744 <a name="l01407"></a>01407 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">ScriptIntrinsic3DLUT</a>(sp<RS> rs, sp<const Element> e); 745 <a name="l01408"></a>01408 <span class="keyword">public</span>: 746 <a name="l01415"></a>01415 <span class="keyword">static</span> sp<ScriptIntrinsic3DLUT> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#ae20e9165cc0bbef03d0d7b99ae238758">create</a>(sp<RS> rs, sp<const Element> e); 747 <a name="l01416"></a>01416 748 <a name="l01422"></a>01422 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#ac33f9e12362112f24560205389db2eff">forEach</a>(sp<Allocation> ain, sp<Allocation> aout); 749 <a name="l01423"></a>01423 750 <a name="l01429"></a>01429 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html#a14e28c25094206e8f49b42682d682927">setLUT</a>(sp<Allocation> lut); 751 <a name="l01430"></a>01430 }; 752 <a name="l01431"></a>01431 753 <a name="l01435"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">01435</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">ScriptIntrinsicBlend</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 754 <a name="l01436"></a>01436 <span class="keyword">private</span>: 755 <a name="l01437"></a>01437 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">ScriptIntrinsicBlend</a>(sp<RS> rs, sp<const Element> e); 756 <a name="l01438"></a>01438 <span class="keyword">public</span>: 757 <a name="l01445"></a>01445 <span class="keyword">static</span> sp<ScriptIntrinsicBlend> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a1dbb5e8934181bd464aa941ab4ed04c2">create</a>(sp<RS> rs, sp<const Element> e); 758 <a name="l01451"></a>01451 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#addb362087b29501a147532b71fa1bd84">forEachClear</a>(sp<Allocation> in, sp<Allocation> out); 759 <a name="l01457"></a>01457 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a4a9b89fe7c7d0b508cb76ef3ff17b21f">forEachSrc</a>(sp<Allocation> in, sp<Allocation> out); 760 <a name="l01463"></a>01463 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a0fd92d628989897bc74950dfe7d526a9">forEachDst</a>(sp<Allocation> in, sp<Allocation> out); 761 <a name="l01469"></a>01469 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a549d5ac3e162fe09953e91c3f051bfe1">forEachSrcOver</a>(sp<Allocation> in, sp<Allocation> out); 762 <a name="l01475"></a>01475 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a345320822d155e67b31bf3dd3bdd92cd">forEachDstOver</a>(sp<Allocation> in, sp<Allocation> out); 763 <a name="l01481"></a>01481 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aa9eeb76a0bcab43ce0b184d763d4330b">forEachSrcIn</a>(sp<Allocation> in, sp<Allocation> out); 764 <a name="l01487"></a>01487 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a1a8c4062af7c2b65ef75265205a43074">forEachDstIn</a>(sp<Allocation> in, sp<Allocation> out); 765 <a name="l01493"></a>01493 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#ab4de9592804d272a87c11391007829af">forEachSrcOut</a>(sp<Allocation> in, sp<Allocation> out); 766 <a name="l01499"></a>01499 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a72d0bc7a4766cf7c232f03dd9b0bdd33">forEachDstOut</a>(sp<Allocation> in, sp<Allocation> out); 767 <a name="l01505"></a>01505 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a11d157495a1970b479cfc831222079d6">forEachSrcAtop</a>(sp<Allocation> in, sp<Allocation> out); 768 <a name="l01511"></a>01511 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aa651ce27efb7f78b0615563c3fd41f31">forEachDstAtop</a>(sp<Allocation> in, sp<Allocation> out); 769 <a name="l01517"></a>01517 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#ac3fbf3acd4ff8d26779930f4fdc42cb8">forEachXor</a>(sp<Allocation> in, sp<Allocation> out); 770 <a name="l01523"></a>01523 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a10061ec772c84fedd9f04f43e06ad0a9">forEachMultiply</a>(sp<Allocation> in, sp<Allocation> out); 771 <a name="l01529"></a>01529 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#a858f1780417ac702b26becaae865f736">forEachAdd</a>(sp<Allocation> in, sp<Allocation> out); 772 <a name="l01535"></a>01535 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html#aeb8ee656f6d3ac2d21a4e2ca74f25cd9">forEachSubtract</a>(sp<Allocation> in, sp<Allocation> out); 773 <a name="l01536"></a>01536 }; 774 <a name="l01537"></a>01537 775 <a name="l01542"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">01542</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">ScriptIntrinsicBlur</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 776 <a name="l01543"></a>01543 <span class="keyword">private</span>: 777 <a name="l01544"></a>01544 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">ScriptIntrinsicBlur</a>(sp<RS> rs, sp<const Element> e); 778 <a name="l01545"></a>01545 <span class="keyword">public</span>: 779 <a name="l01552"></a>01552 <span class="keyword">static</span> sp<ScriptIntrinsicBlur> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#a8fac744731e103570f149012cfad7426">create</a>(sp<RS> rs, sp<const Element> e); 780 <a name="l01557"></a>01557 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#a8f3edd1e3243209076159e8c2d7ddefc">setInput</a>(sp<Allocation> in); 781 <a name="l01562"></a>01562 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#ae8e448c1a7cf4505ce9008cdd20bcfed">forEach</a>(sp<Allocation> out); 782 <a name="l01567"></a>01567 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html#ad25f4cb45a95a01f1e9adfeb6e0d810b">setRadius</a>(<span class="keywordtype">float</span> radius); 783 <a name="l01568"></a>01568 }; 784 <a name="l01569"></a>01569 785 <a name="l01577"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">01577</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">ScriptIntrinsicColorMatrix</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 786 <a name="l01578"></a>01578 <span class="keyword">private</span>: 787 <a name="l01579"></a>01579 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">ScriptIntrinsicColorMatrix</a>(sp<RS> rs, sp<const Element> e); 788 <a name="l01580"></a>01580 <span class="keyword">public</span>: 789 <a name="l01586"></a>01586 <span class="keyword">static</span> sp<ScriptIntrinsicColorMatrix> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a9cea306b067bead29220cfebabc2860a">create</a>(sp<RS> rs); 790 <a name="l01593"></a>01593 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aaaa3afb31ff042eb463d9ce2fa983c49">forEach</a>(sp<Allocation> in, sp<Allocation> out); 791 <a name="l01599"></a>01599 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a6f8e4e4acb841f80b99e00f66f424413">setAdd</a>(<span class="keywordtype">float</span>* add); 792 <a name="l01600"></a>01600 793 <a name="l01607"></a>01607 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aab9cee1734186c000b27950a4919bfac">setColorMatrix3</a>(<span class="keywordtype">float</span>* m); 794 <a name="l01614"></a>01614 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#a9f9a613dc01b1c32436f517f1256d7c1">setColorMatrix4</a>(<span class="keywordtype">float</span>* m); 795 <a name="l01619"></a>01619 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#ae85ce011c6a36f662b641981c48bc78d">setGreyscale</a>(); 796 <a name="l01624"></a>01624 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa8a64388a63db69f8054092ce64c7b73">setRGBtoYUV</a>(); 797 <a name="l01629"></a>01629 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa91f50c71c2800b062d659989cf6c722">setYUVtoRGB</a>(); 798 <a name="l01630"></a>01630 }; 799 <a name="l01631"></a>01631 800 <a name="l01635"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">01635</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">ScriptIntrinsicConvolve3x3</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 801 <a name="l01636"></a>01636 <span class="keyword">private</span>: 802 <a name="l01637"></a>01637 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">ScriptIntrinsicConvolve3x3</a>(sp<RS> rs, sp<const Element> e); 803 <a name="l01638"></a>01638 <span class="keyword">public</span>: 804 <a name="l01646"></a>01646 <span class="keyword">static</span> sp<ScriptIntrinsicConvolve3x3> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a75322ba192a90765448e6d677876fdd2">create</a>(sp<RS> rs, sp<const Element> e); 805 <a name="l01651"></a>01651 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#af37c3c898638afbda2911253c8d5f425">setInput</a>(sp<Allocation> in); 806 <a name="l01656"></a>01656 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a1452800d1d0c8850d1a16af98e422478">forEach</a>(sp<Allocation> out); 807 <a name="l01661"></a>01661 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html#a7e078b7dd03ed4ef95359e5c8aa4221a">setCoefficients</a>(<span class="keywordtype">float</span>* v); 808 <a name="l01662"></a>01662 }; 809 <a name="l01663"></a>01663 810 <a name="l01667"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">01667</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">ScriptIntrinsicConvolve5x5</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 811 <a name="l01668"></a>01668 <span class="keyword">private</span>: 812 <a name="l01669"></a>01669 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">ScriptIntrinsicConvolve5x5</a>(sp<RS> rs, sp<const Element> e); 813 <a name="l01670"></a>01670 <span class="keyword">public</span>: 814 <a name="l01678"></a>01678 <span class="keyword">static</span> sp<ScriptIntrinsicConvolve5x5> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a16edb5063e7113f5923fa8b11197cb62">create</a>(sp<RS> rs, sp<const Element> e); 815 <a name="l01683"></a>01683 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a2f7c0212e1bb075153831ed543147d51">setInput</a>(sp<Allocation> in); 816 <a name="l01688"></a>01688 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#ab7ffe13967fd33f3fce8a8e48dc1c9f6">forEach</a>(sp<Allocation> out); 817 <a name="l01693"></a>01693 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html#a32a6051b732023e668807616f87c17dd">setCoefficients</a>(<span class="keywordtype">float</span>* v); 818 <a name="l01694"></a>01694 }; 819 <a name="l01695"></a>01695 820 <a name="l01699"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">01699</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">ScriptIntrinsicHistogram</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 821 <a name="l01700"></a>01700 <span class="keyword">private</span>: 822 <a name="l01701"></a>01701 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">ScriptIntrinsicHistogram</a>(sp<RS> rs, sp<const Element> e); 823 <a name="l01702"></a>01702 sp<Allocation> mOut; 824 <a name="l01703"></a>01703 <span class="keyword">public</span>: 825 <a name="l01715"></a>01715 <span class="keyword">static</span> sp<ScriptIntrinsicHistogram> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a3e4468e6fc3aef620ea080493c257da0">create</a>(sp<RS> rs); 826 <a name="l01722"></a>01722 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a5836cb535900b271cfc80445e7bd3890">setOutput</a>(sp<Allocation> aout); 827 <a name="l01734"></a>01734 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#aeac5401581ac83a7f812e70d8af19247">setDotCoefficients</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a); 828 <a name="l01747"></a>01747 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a8a9c2cab4f07c66a9a167fab07da9897">forEach</a>(sp<Allocation> ain); 829 <a name="l01758"></a>01758 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html#a0d92ce93a488ae86c5acaeefc380ec98">forEach_dot</a>(sp<Allocation> ain); 830 <a name="l01759"></a>01759 }; 831 <a name="l01760"></a>01760 832 <a name="l01766"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">01766</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 833 <a name="l01767"></a>01767 <span class="keyword">private</span>: 834 <a name="l01768"></a>01768 sp<Allocation> LUT; 835 <a name="l01769"></a>01769 <span class="keywordtype">bool</span> mDirty; 836 <a name="l01770"></a>01770 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> mCache[1024]; 837 <a name="l01771"></a>01771 <span class="keywordtype">void</span> setTable(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> offset, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues); 838 <a name="l01772"></a>01772 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>(sp<RS> rs, sp<const Element> e); 839 <a name="l01773"></a>01773 840 <a name="l01774"></a>01774 <span class="keyword">public</span>: 841 <a name="l01785"></a>01785 <span class="keyword">static</span> sp<ScriptIntrinsicLUT> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#aeb5f4cdbd9d71858413b5835685b2eb3">create</a>(sp<RS> rs, sp<const Element> e); 842 <a name="l01793"></a>01793 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#a3774786291f4b145652ce795e9d9521c">forEach</a>(sp<Allocation> ain, sp<Allocation> aout); 843 <a name="l01800"></a>01800 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#acf543cd20e303ef4a760a22d1a350e18">setRed</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues); 844 <a name="l01807"></a>01807 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#a46ce58490f4e95422fd76f1a704f6f99">setGreen</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues); 845 <a name="l01814"></a>01814 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#ac26e8d50edaa64e7e1972771054bb968">setBlue</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues); 846 <a name="l01821"></a>01821 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html#ad5cf5d3a61ad299eac6d40947ac4f872">setAlpha</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> base, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* lutValues); 847 <a name="l01822"></a>01822 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>(); 848 <a name="l01823"></a>01823 }; 849 <a name="l01824"></a>01824 850 <a name="l01832"></a><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">01832</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">ScriptIntrinsicYuvToRGB</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a> { 851 <a name="l01833"></a>01833 <span class="keyword">private</span>: 852 <a name="l01834"></a>01834 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">ScriptIntrinsicYuvToRGB</a>(sp<RS> rs, sp<const Element> e); 853 <a name="l01835"></a>01835 <span class="keyword">public</span>: 854 <a name="l01846"></a>01846 <span class="keyword">static</span> sp<ScriptIntrinsicYuvToRGB> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#adc5488f3137b97a1d76f5765fcb333fd">create</a>(sp<RS> rs, sp<const Element> e); 855 <a name="l01852"></a>01852 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#a7a57038de7d52c53956029dc9dc51dde">setInput</a>(sp<Allocation> in); 856 <a name="l01853"></a>01853 857 <a name="l01860"></a>01860 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html#a82cc7e843804e20d728c2158cfa481f7">forEach</a>(sp<Allocation> out); 858 <a name="l01861"></a>01861 859 <a name="l01862"></a>01862 }; 860 <a name="l01863"></a>01863 861 <a name="l01874"></a><a class="code" href="classandroid_1_1RSC_1_1Sampler.html">01874</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a> { 862 <a name="l01875"></a>01875 <span class="keyword">private</span>: 863 <a name="l01876"></a>01876 <a class="code" href="classandroid_1_1RSC_1_1Sampler.html">Sampler</a>(sp<RS> rs, <span class="keywordtype">void</span>* <span class="keywordtype">id</span>); 864 <a name="l01877"></a>01877 RsSamplerValue mMin; 865 <a name="l01878"></a>01878 RsSamplerValue mMag; 866 <a name="l01879"></a>01879 RsSamplerValue mWrapS; 867 <a name="l01880"></a>01880 RsSamplerValue mWrapT; 868 <a name="l01881"></a>01881 RsSamplerValue mWrapR; 869 <a name="l01882"></a>01882 <span class="keywordtype">float</span> mAniso; 870 <a name="l01883"></a>01883 871 <a name="l01884"></a>01884 <span class="keyword">public</span>: 872 <a name="l01894"></a>01894 <span class="keyword">static</span> sp<Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a579e236fabaca164d0639bcb9c95a169">create</a>(sp<RS> rs, RsSamplerValue min, RsSamplerValue mag, RsSamplerValue wrapS, RsSamplerValue wrapT, <span class="keywordtype">float</span> anisotropy); 873 <a name="l01895"></a>01895 874 <a name="l01899"></a>01899 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a22c6f5b3bf6e430a0295ab99f65f3dca">getMinification</a>(); 875 <a name="l01903"></a>01903 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#acaa10a3d84d99cd68d2274cbb427abb9">getMagnification</a>(); 876 <a name="l01907"></a>01907 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#aaa21bc15543fcf02bbd688c38e14080f">getWrapS</a>(); 877 <a name="l01911"></a>01911 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a9515051eeea23c062d29ca8361114919">getWrapT</a>(); 878 <a name="l01915"></a>01915 <span class="keywordtype">float</span> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#ac4f94713027d23277a520f27f1522624">getAnisotropy</a>(); 879 <a name="l01916"></a>01916 880 <a name="l01925"></a>01925 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a0518c8081002dd7c5633c85a79e9c2f6">CLAMP_NEAREST</a>(sp<RS> rs); 881 <a name="l01934"></a>01934 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a06c0a2b5a1c589855bdfa568ab3af5d7">CLAMP_LINEAR</a>(sp<RS> rs); 882 <a name="l01943"></a>01943 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a3eab76d9b2f713959e69e54dc5041ba8">CLAMP_LINEAR_MIP_LINEAR</a>(sp<RS> rs); 883 <a name="l01952"></a>01952 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a92624553227aa533faa94d6c09ae54ef">WRAP_NEAREST</a>(sp<RS> rs); 884 <a name="l01961"></a>01961 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a0984f4d8fc88d29d90d5a78b9cc3bb02">WRAP_LINEAR</a>(sp<RS> rs); 885 <a name="l01970"></a>01970 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a11da4896311f9b3f71af904afb46b8f0">WRAP_LINEAR_MIP_LINEAR</a>(sp<RS> rs); 886 <a name="l01979"></a>01979 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#aa1d8a9143f4e82182c11605d85c9deec">MIRRORED_REPEAT_NEAREST</a>(sp<RS> rs); 887 <a name="l01988"></a>01988 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a56e9fa97beed1f3f0cf9baf23c2125b7">MIRRORED_REPEAT_LINEAR</a>(sp<RS> rs); 888 <a name="l01997"></a>01997 <span class="keyword">static</span> sp<const Sampler> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#adb6b89babff823202d1c5a112e6124ac">MIRRORED_REPEAT_LINEAR_MIP_LINEAR</a>(sp<RS> rs); 889 <a name="l01998"></a>01998 890 <a name="l01999"></a>01999 }; 891 <a name="l02000"></a>02000 892 <a name="l02001"></a><a class="code" href="classandroid_1_1RSC_1_1Byte2.html">02001</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a> { 893 <a name="l02002"></a>02002 <span class="keyword">public</span>: 894 <a name="l02003"></a>02003 int8_t x, y; 895 <a name="l02004"></a>02004 896 <a name="l02005"></a>02005 <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>(int8_t initX, int8_t initY) 897 <a name="l02006"></a>02006 : x(initX), y(initY) {} 898 <a name="l02007"></a>02007 <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>() : x(0), y(0) {} 899 <a name="l02008"></a>02008 }; 900 <a name="l02009"></a>02009 901 <a name="l02010"></a><a class="code" href="classandroid_1_1RSC_1_1Byte3.html">02010</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a> { 902 <a name="l02011"></a>02011 <span class="keyword">public</span>: 903 <a name="l02012"></a>02012 int8_t x, y, z; 904 <a name="l02013"></a>02013 905 <a name="l02014"></a>02014 <a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a>(int8_t initX, int8_t initY, int8_t initZ) 906 <a name="l02015"></a>02015 : x(initX), y(initY), z(initZ) {} 907 <a name="l02016"></a>02016 <a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a>() : x(0), y(0), z(0) {} 908 <a name="l02017"></a>02017 }; 909 <a name="l02018"></a>02018 910 <a name="l02019"></a><a class="code" href="classandroid_1_1RSC_1_1Byte4.html">02019</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a> { 911 <a name="l02020"></a>02020 <span class="keyword">public</span>: 912 <a name="l02021"></a>02021 int8_t x, y, z, w; 913 <a name="l02022"></a>02022 914 <a name="l02023"></a>02023 <a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a>(int8_t initX, int8_t initY, int8_t initZ, int8_t initW) 915 <a name="l02024"></a>02024 : x(initX), y(initY), z(initZ), w(initW) {} 916 <a name="l02025"></a>02025 <a class="code" href="classandroid_1_1RSC_1_1Byte4.html">Byte4</a>() : x(0), y(0), z(0), w(0) {} 917 <a name="l02026"></a>02026 }; 918 <a name="l02027"></a>02027 919 <a name="l02028"></a><a class="code" href="classandroid_1_1RSC_1_1UByte2.html">02028</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a> { 920 <a name="l02029"></a>02029 <span class="keyword">public</span>: 921 <a name="l02030"></a>02030 uint8_t x, y; 922 <a name="l02031"></a>02031 923 <a name="l02032"></a>02032 <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>(uint8_t initX, uint8_t initY) 924 <a name="l02033"></a>02033 : x(initX), y(initY) {} 925 <a name="l02034"></a>02034 <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>() : x(0), y(0) {} 926 <a name="l02035"></a>02035 }; 927 <a name="l02036"></a>02036 928 <a name="l02037"></a><a class="code" href="classandroid_1_1RSC_1_1UByte3.html">02037</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a> { 929 <a name="l02038"></a>02038 <span class="keyword">public</span>: 930 <a name="l02039"></a>02039 uint8_t x, y, z; 931 <a name="l02040"></a>02040 932 <a name="l02041"></a>02041 <a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a>(uint8_t initX, uint8_t initY, uint8_t initZ) 933 <a name="l02042"></a>02042 : x(initX), y(initY), z(initZ) {} 934 <a name="l02043"></a>02043 <a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a>() : x(0), y(0), z(0) {} 935 <a name="l02044"></a>02044 }; 936 <a name="l02045"></a>02045 937 <a name="l02046"></a><a class="code" href="classandroid_1_1RSC_1_1UByte4.html">02046</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a> { 938 <a name="l02047"></a>02047 <span class="keyword">public</span>: 939 <a name="l02048"></a>02048 uint8_t x, y, z, w; 940 <a name="l02049"></a>02049 941 <a name="l02050"></a>02050 <a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a>(uint8_t initX, uint8_t initY, uint8_t initZ, uint8_t initW) 942 <a name="l02051"></a>02051 : x(initX), y(initY), z(initZ), w(initW) {} 943 <a name="l02052"></a>02052 <a class="code" href="classandroid_1_1RSC_1_1UByte4.html">UByte4</a>() : x(0), y(0), z(0), w(0) {} 944 <a name="l02053"></a>02053 }; 945 <a name="l02054"></a>02054 946 <a name="l02055"></a><a class="code" href="classandroid_1_1RSC_1_1Short2.html">02055</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a> { 947 <a name="l02056"></a>02056 <span class="keyword">public</span>: 948 <a name="l02057"></a>02057 <span class="keywordtype">short</span> x, y; 949 <a name="l02058"></a>02058 950 <a name="l02059"></a>02059 <a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY) 951 <a name="l02060"></a>02060 : x(initX), y(initY) {} 952 <a name="l02061"></a>02061 <a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a>() : x(0), y(0) {} 953 <a name="l02062"></a>02062 }; 954 <a name="l02063"></a>02063 955 <a name="l02064"></a><a class="code" href="classandroid_1_1RSC_1_1Short3.html">02064</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a> { 956 <a name="l02065"></a>02065 <span class="keyword">public</span>: 957 <a name="l02066"></a>02066 <span class="keywordtype">short</span> x, y, z; 958 <a name="l02067"></a>02067 959 <a name="l02068"></a>02068 <a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY, <span class="keywordtype">short</span> initZ) 960 <a name="l02069"></a>02069 : x(initX), y(initY), z(initZ) {} 961 <a name="l02070"></a>02070 <a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a>() : x(0), y(0), z(0) {} 962 <a name="l02071"></a>02071 }; 963 <a name="l02072"></a>02072 964 <a name="l02073"></a><a class="code" href="classandroid_1_1RSC_1_1Short4.html">02073</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a> { 965 <a name="l02074"></a>02074 <span class="keyword">public</span>: 966 <a name="l02075"></a>02075 <span class="keywordtype">short</span> x, y, z, w; 967 <a name="l02076"></a>02076 968 <a name="l02077"></a>02077 <a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a>(<span class="keywordtype">short</span> initX, <span class="keywordtype">short</span> initY, <span class="keywordtype">short</span> initZ, <span class="keywordtype">short</span> initW) 969 <a name="l02078"></a>02078 : x(initX), y(initY), z(initZ), w(initW) {} 970 <a name="l02079"></a>02079 <a class="code" href="classandroid_1_1RSC_1_1Short4.html">Short4</a>() : x(0), y(0), z(0), w(0) {} 971 <a name="l02080"></a>02080 }; 972 <a name="l02081"></a>02081 973 <a name="l02082"></a><a class="code" href="classandroid_1_1RSC_1_1UShort2.html">02082</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a> { 974 <a name="l02083"></a>02083 <span class="keyword">public</span>: 975 <a name="l02084"></a>02084 uint16_t x, y; 976 <a name="l02085"></a>02085 977 <a name="l02086"></a>02086 <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>(uint16_t initX, uint16_t initY) 978 <a name="l02087"></a>02087 : x(initX), y(initY) {} 979 <a name="l02088"></a>02088 <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>() : x(0), y(0) {} 980 <a name="l02089"></a>02089 }; 981 <a name="l02090"></a>02090 982 <a name="l02091"></a><a class="code" href="classandroid_1_1RSC_1_1UShort3.html">02091</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a> { 983 <a name="l02092"></a>02092 <span class="keyword">public</span>: 984 <a name="l02093"></a>02093 uint16_t x, y, z; 985 <a name="l02094"></a>02094 986 <a name="l02095"></a>02095 <a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a>(uint16_t initX, uint16_t initY, uint16_t initZ) 987 <a name="l02096"></a>02096 : x(initX), y(initY), z(initZ) {} 988 <a name="l02097"></a>02097 <a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a>() : x(0), y(0), z(0) {} 989 <a name="l02098"></a>02098 }; 990 <a name="l02099"></a>02099 991 <a name="l02100"></a><a class="code" href="classandroid_1_1RSC_1_1UShort4.html">02100</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a> { 992 <a name="l02101"></a>02101 <span class="keyword">public</span>: 993 <a name="l02102"></a>02102 uint16_t x, y, z, w; 994 <a name="l02103"></a>02103 995 <a name="l02104"></a>02104 <a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a>(uint16_t initX, uint16_t initY, uint16_t initZ, uint16_t initW) 996 <a name="l02105"></a>02105 : x(initX), y(initY), z(initZ), w(initW) {} 997 <a name="l02106"></a>02106 <a class="code" href="classandroid_1_1RSC_1_1UShort4.html">UShort4</a>() : x(0), y(0), z(0), w(0) {} 998 <a name="l02107"></a>02107 }; 999 <a name="l02108"></a>02108 1000 <a name="l02109"></a><a class="code" href="classandroid_1_1RSC_1_1Int2.html">02109</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a> { 1001 <a name="l02110"></a>02110 <span class="keyword">public</span>: 1002 <a name="l02111"></a>02111 <span class="keywordtype">int</span> x, y; 1003 <a name="l02112"></a>02112 1004 <a name="l02113"></a>02113 <a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY) 1005 <a name="l02114"></a>02114 : x(initX), y(initY) {} 1006 <a name="l02115"></a>02115 <a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a>() : x(0), y(0) {} 1007 <a name="l02116"></a>02116 }; 1008 <a name="l02117"></a>02117 1009 <a name="l02118"></a><a class="code" href="classandroid_1_1RSC_1_1Int3.html">02118</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a> { 1010 <a name="l02119"></a>02119 <span class="keyword">public</span>: 1011 <a name="l02120"></a>02120 <span class="keywordtype">int</span> x, y, z; 1012 <a name="l02121"></a>02121 1013 <a name="l02122"></a>02122 <a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY, <span class="keywordtype">int</span> initZ) 1014 <a name="l02123"></a>02123 : x(initX), y(initY), z(initZ) {} 1015 <a name="l02124"></a>02124 <a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a>() : x(0), y(0), z(0) {} 1016 <a name="l02125"></a>02125 }; 1017 <a name="l02126"></a>02126 1018 <a name="l02127"></a><a class="code" href="classandroid_1_1RSC_1_1Int4.html">02127</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a> { 1019 <a name="l02128"></a>02128 <span class="keyword">public</span>: 1020 <a name="l02129"></a>02129 <span class="keywordtype">int</span> x, y, z, w; 1021 <a name="l02130"></a>02130 1022 <a name="l02131"></a>02131 <a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a>(<span class="keywordtype">int</span> initX, <span class="keywordtype">int</span> initY, <span class="keywordtype">int</span> initZ, <span class="keywordtype">int</span> initW) 1023 <a name="l02132"></a>02132 : x(initX), y(initY), z(initZ), w(initW) {} 1024 <a name="l02133"></a>02133 <a class="code" href="classandroid_1_1RSC_1_1Int4.html">Int4</a>() : x(0), y(0), z(0), w(0) {} 1025 <a name="l02134"></a>02134 }; 1026 <a name="l02135"></a>02135 1027 <a name="l02136"></a><a class="code" href="classandroid_1_1RSC_1_1UInt2.html">02136</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a> { 1028 <a name="l02137"></a>02137 <span class="keyword">public</span>: 1029 <a name="l02138"></a>02138 uint32_t x, y; 1030 <a name="l02139"></a>02139 1031 <a name="l02140"></a>02140 <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>(uint32_t initX, uint32_t initY) 1032 <a name="l02141"></a>02141 : x(initX), y(initY) {} 1033 <a name="l02142"></a>02142 <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>() : x(0), y(0) {} 1034 <a name="l02143"></a>02143 }; 1035 <a name="l02144"></a>02144 1036 <a name="l02145"></a><a class="code" href="classandroid_1_1RSC_1_1UInt3.html">02145</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a> { 1037 <a name="l02146"></a>02146 <span class="keyword">public</span>: 1038 <a name="l02147"></a>02147 uint32_t x, y, z; 1039 <a name="l02148"></a>02148 1040 <a name="l02149"></a>02149 <a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a>(uint32_t initX, uint32_t initY, uint32_t initZ) 1041 <a name="l02150"></a>02150 : x(initX), y(initY), z(initZ) {} 1042 <a name="l02151"></a>02151 <a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a>() : x(0), y(0), z(0) {} 1043 <a name="l02152"></a>02152 }; 1044 <a name="l02153"></a>02153 1045 <a name="l02154"></a><a class="code" href="classandroid_1_1RSC_1_1UInt4.html">02154</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a> { 1046 <a name="l02155"></a>02155 <span class="keyword">public</span>: 1047 <a name="l02156"></a>02156 uint32_t x, y, z, w; 1048 <a name="l02157"></a>02157 1049 <a name="l02158"></a>02158 <a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a>(uint32_t initX, uint32_t initY, uint32_t initZ, uint32_t initW) 1050 <a name="l02159"></a>02159 : x(initX), y(initY), z(initZ), w(initW) {} 1051 <a name="l02160"></a>02160 <a class="code" href="classandroid_1_1RSC_1_1UInt4.html">UInt4</a>() : x(0), y(0), z(0), w(0) {} 1052 <a name="l02161"></a>02161 }; 1053 <a name="l02162"></a>02162 1054 <a name="l02163"></a><a class="code" href="classandroid_1_1RSC_1_1Long2.html">02163</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a> { 1055 <a name="l02164"></a>02164 <span class="keyword">public</span>: 1056 <a name="l02165"></a>02165 int64_t x, y; 1057 <a name="l02166"></a>02166 1058 <a name="l02167"></a>02167 <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>(int64_t initX, int64_t initY) 1059 <a name="l02168"></a>02168 : x(initX), y(initY) {} 1060 <a name="l02169"></a>02169 <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>() : x(0), y(0) {} 1061 <a name="l02170"></a>02170 }; 1062 <a name="l02171"></a>02171 1063 <a name="l02172"></a><a class="code" href="classandroid_1_1RSC_1_1Long3.html">02172</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a> { 1064 <a name="l02173"></a>02173 <span class="keyword">public</span>: 1065 <a name="l02174"></a>02174 int64_t x, y, z; 1066 <a name="l02175"></a>02175 1067 <a name="l02176"></a>02176 <a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a>(int64_t initX, int64_t initY, int64_t initZ) 1068 <a name="l02177"></a>02177 : x(initX), y(initY), z(initZ) {} 1069 <a name="l02178"></a>02178 <a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a>() : x(0), y(0), z(0) {} 1070 <a name="l02179"></a>02179 }; 1071 <a name="l02180"></a>02180 1072 <a name="l02181"></a><a class="code" href="classandroid_1_1RSC_1_1Long4.html">02181</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a> { 1073 <a name="l02182"></a>02182 <span class="keyword">public</span>: 1074 <a name="l02183"></a>02183 int64_t x, y, z, w; 1075 <a name="l02184"></a>02184 1076 <a name="l02185"></a>02185 <a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a>(int64_t initX, int64_t initY, int64_t initZ, int64_t initW) 1077 <a name="l02186"></a>02186 : x(initX), y(initY), z(initZ), w(initW) {} 1078 <a name="l02187"></a>02187 <a class="code" href="classandroid_1_1RSC_1_1Long4.html">Long4</a>() : x(0), y(0), z(0), w(0) {} 1079 <a name="l02188"></a>02188 }; 1080 <a name="l02189"></a>02189 1081 <a name="l02190"></a><a class="code" href="classandroid_1_1RSC_1_1ULong2.html">02190</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a> { 1082 <a name="l02191"></a>02191 <span class="keyword">public</span>: 1083 <a name="l02192"></a>02192 uint64_t x, y; 1084 <a name="l02193"></a>02193 1085 <a name="l02194"></a>02194 <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>(uint64_t initX, uint64_t initY) 1086 <a name="l02195"></a>02195 : x(initX), y(initY) {} 1087 <a name="l02196"></a>02196 <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>() : x(0), y(0) {} 1088 <a name="l02197"></a>02197 }; 1089 <a name="l02198"></a>02198 1090 <a name="l02199"></a><a class="code" href="classandroid_1_1RSC_1_1ULong3.html">02199</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a> { 1091 <a name="l02200"></a>02200 <span class="keyword">public</span>: 1092 <a name="l02201"></a>02201 uint64_t x, y, z; 1093 <a name="l02202"></a>02202 1094 <a name="l02203"></a>02203 <a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a>(uint64_t initX, uint64_t initY, uint64_t initZ) 1095 <a name="l02204"></a>02204 : x(initX), y(initY), z(initZ) {} 1096 <a name="l02205"></a>02205 <a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a>() : x(0), y(0), z(0) {} 1097 <a name="l02206"></a>02206 }; 1098 <a name="l02207"></a>02207 1099 <a name="l02208"></a><a class="code" href="classandroid_1_1RSC_1_1ULong4.html">02208</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a> { 1100 <a name="l02209"></a>02209 <span class="keyword">public</span>: 1101 <a name="l02210"></a>02210 uint64_t x, y, z, w; 1102 <a name="l02211"></a>02211 1103 <a name="l02212"></a>02212 <a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a>(uint64_t initX, uint64_t initY, uint64_t initZ, uint64_t initW) 1104 <a name="l02213"></a>02213 : x(initX), y(initY), z(initZ), w(initW) {} 1105 <a name="l02214"></a>02214 <a class="code" href="classandroid_1_1RSC_1_1ULong4.html">ULong4</a>() : x(0), y(0), z(0), w(0) {} 1106 <a name="l02215"></a>02215 }; 1107 <a name="l02216"></a>02216 1108 <a name="l02217"></a><a class="code" href="classandroid_1_1RSC_1_1Float2.html">02217</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a> { 1109 <a name="l02218"></a>02218 <span class="keyword">public</span>: 1110 <a name="l02219"></a>02219 <span class="keywordtype">float</span> x, y; 1111 <a name="l02220"></a>02220 1112 <a name="l02221"></a>02221 <a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY) 1113 <a name="l02222"></a>02222 : x(initX), y(initY) {} 1114 <a name="l02223"></a>02223 <a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a>() : x(0), y(0) {} 1115 <a name="l02224"></a>02224 }; 1116 <a name="l02225"></a>02225 1117 <a name="l02226"></a><a class="code" href="classandroid_1_1RSC_1_1Float3.html">02226</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a> { 1118 <a name="l02227"></a>02227 <span class="keyword">public</span>: 1119 <a name="l02228"></a>02228 <span class="keywordtype">float</span> x, y, z; 1120 <a name="l02229"></a>02229 1121 <a name="l02230"></a>02230 <a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY, <span class="keywordtype">float</span> initZ) 1122 <a name="l02231"></a>02231 : x(initX), y(initY), z(initZ) {} 1123 <a name="l02232"></a>02232 <a class="code" href="classandroid_1_1RSC_1_1Float3.html">Float3</a>() : x(0.f), y(0.f), z(0.f) {} 1124 <a name="l02233"></a>02233 }; 1125 <a name="l02234"></a>02234 1126 <a name="l02235"></a><a class="code" href="classandroid_1_1RSC_1_1Float4.html">02235</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a> { 1127 <a name="l02236"></a>02236 <span class="keyword">public</span>: 1128 <a name="l02237"></a>02237 <span class="keywordtype">float</span> x, y, z, w; 1129 <a name="l02238"></a>02238 1130 <a name="l02239"></a>02239 <a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a>(<span class="keywordtype">float</span> initX, <span class="keywordtype">float</span> initY, <span class="keywordtype">float</span> initZ, <span class="keywordtype">float</span> initW) 1131 <a name="l02240"></a>02240 : x(initX), y(initY), z(initZ), w(initW) {} 1132 <a name="l02241"></a>02241 <a class="code" href="classandroid_1_1RSC_1_1Float4.html">Float4</a>() : x(0.f), y(0.f), z(0.f), w(0.f) {} 1133 <a name="l02242"></a>02242 }; 1134 <a name="l02243"></a>02243 1135 <a name="l02244"></a><a class="code" href="classandroid_1_1RSC_1_1Double2.html">02244</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a> { 1136 <a name="l02245"></a>02245 <span class="keyword">public</span>: 1137 <a name="l02246"></a>02246 <span class="keywordtype">double</span> x, y; 1138 <a name="l02247"></a>02247 1139 <a name="l02248"></a>02248 <a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY) 1140 <a name="l02249"></a>02249 : x(initX), y(initY) {} 1141 <a name="l02250"></a>02250 <a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a>() : x(0), y(0) {} 1142 <a name="l02251"></a>02251 }; 1143 <a name="l02252"></a>02252 1144 <a name="l02253"></a><a class="code" href="classandroid_1_1RSC_1_1Double3.html">02253</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a> { 1145 <a name="l02254"></a>02254 <span class="keyword">public</span>: 1146 <a name="l02255"></a>02255 <span class="keywordtype">double</span> x, y, z; 1147 <a name="l02256"></a>02256 1148 <a name="l02257"></a>02257 <a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY, <span class="keywordtype">double</span> initZ) 1149 <a name="l02258"></a>02258 : x(initX), y(initY), z(initZ) {} 1150 <a name="l02259"></a>02259 <a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a>() : x(0), y(0), z(0) {} 1151 <a name="l02260"></a>02260 }; 1152 <a name="l02261"></a>02261 1153 <a name="l02262"></a><a class="code" href="classandroid_1_1RSC_1_1Double4.html">02262</a> <span class="keyword">class </span><a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a> { 1154 <a name="l02263"></a>02263 <span class="keyword">public</span>: 1155 <a name="l02264"></a>02264 <span class="keywordtype">double</span> x, y, z, w; 1156 <a name="l02265"></a>02265 1157 <a name="l02266"></a>02266 <a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a>(<span class="keywordtype">double</span> initX, <span class="keywordtype">double</span> initY, <span class="keywordtype">double</span> initZ, <span class="keywordtype">double</span> initW) 1158 <a name="l02267"></a>02267 : x(initX), y(initY), z(initZ), w(initW) {} 1159 <a name="l02268"></a>02268 <a class="code" href="classandroid_1_1RSC_1_1Double4.html">Double4</a>() : x(0), y(0), z(0), w(0) {} 1160 <a name="l02269"></a>02269 }; 1161 <a name="l02270"></a>02270 1162 <a name="l02271"></a>02271 } 1163 <a name="l02272"></a>02272 1164 <a name="l02273"></a>02273 } 1165 <a name="l02274"></a>02274 1166 <a name="l02275"></a>02275 <span class="preprocessor">#endif</span> 1167 </pre></div></div> 1168 </div> 1169 1170 </body> 1171 </html> 1172