<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>rsCppStructs.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <!-- Generated by Doxygen 1.7.5.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Overview</span></a></li> <li><a href="annotated.html"><span>Structs</span></a></li> </ul> </div> <div class="header"> <div class="headertitle"> <div class="title">rsCppStructs.h</div> </div> </div> <div class="contents"> <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2013 The Android Open Source Project</span> <a name="l00003"></a>00003 <span class="comment"> *</span> <a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span> <a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span> <a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span> <a name="l00007"></a>00007 <span class="comment"> *</span> <a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span> <a name="l00009"></a>00009 <span class="comment"> *</span> <a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span> <a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span> <a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> <a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span> <a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span> <a name="l00015"></a>00015 <span class="comment"> */</span> <a name="l00016"></a>00016 <a name="l00017"></a>00017 <span class="preprocessor">#ifndef ANDROID_RSCPPSTRUCTS_H</span> <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define ANDROID_RSCPPSTRUCTS_H</span> <a name="l00019"></a>00019 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#include "rsDefines.h"</span> <a name="l00021"></a>00021 <span class="preprocessor">#include "util/RefBase.h"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include "rsDispatch.h"</span> <a name="l00023"></a>00023 <a name="l00024"></a>00024 <span class="preprocessor">#include <vector></span> <a name="l00025"></a>00025 <span class="preprocessor">#include <string></span> <a name="l00026"></a>00026 <a name="l00031"></a>00031 <span class="preprocessor">#define RS_CPU_ALLOCATION_ALIGNMENT 16</span> <a name="l00032"></a>00032 <span class="preprocessor"></span> <a name="l00033"></a>00033 <span class="keyword">namespace </span>android { <a name="l00034"></a>00034 <span class="keyword">namespace </span>RSC { <a name="l00035"></a>00035 <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); <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); <a name="l00038"></a>00038 <a name="l00039"></a>00039 <span class="keyword">class </span>RS; <a name="l00040"></a>00040 <span class="keyword">class </span>BaseObj; <a name="l00041"></a>00041 <span class="keyword">class </span>Element; <a name="l00042"></a>00042 <span class="keyword">class </span>Type; <a name="l00043"></a>00043 <span class="keyword">class </span>Allocation; <a name="l00044"></a>00044 <span class="keyword">class </span>Script; <a name="l00045"></a>00045 <span class="keyword">class </span>ScriptC; <a name="l00046"></a>00046 <span class="keyword">class </span>Sampler; <a name="l00047"></a>00047 <a name="l00053"></a>00053 <span class="keyword">enum</span> RSError { <a name="l00054"></a>00054 RS_SUCCESS = 0, <a name="l00055"></a>00055 RS_ERROR_INVALID_PARAMETER = 1, <a name="l00056"></a>00056 RS_ERROR_RUNTIME_ERROR = 2, <a name="l00057"></a>00057 <a name="l00058"></a>00058 RS_ERROR_INVALID_ELEMENT = 3, <a name="l00059"></a>00059 RS_ERROR_MAX = 9999 <a name="l00060"></a>00060 <a name="l00061"></a>00061 }; <a name="l00062"></a>00062 <a name="l00066"></a>00066 <span class="keyword">enum</span> RSYuvFormat { <a name="l00067"></a>00067 RS_YUV_NONE = 0, <a name="l00068"></a>00068 RS_YUV_YV12 = 1, <a name="l00069"></a>00069 RS_YUV_NV21 = 2, <a name="l00070"></a>00070 RS_YUV_MAX = 3 <a name="l00071"></a>00071 }; <a name="l00072"></a>00072 <a name="l00076"></a>00076 <span class="keyword">enum</span> RSInitFlags { <a name="l00077"></a>00077 RS_INIT_SYNCHRONOUS = 1, <a name="l00078"></a>00078 RS_INIT_LOW_LATENCY = 2, <a name="l00079"></a>00079 RS_INIT_MAX = 4 <a name="l00080"></a>00080 }; <a name="l00081"></a>00081 <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> { <a name="l00086"></a>00086 <a name="l00087"></a>00087 <span class="keyword">public</span>: <a name="l00088"></a>00088 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>(); <a name="l00089"></a>00089 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>(); <a name="l00090"></a>00090 <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); <a name="l00099"></a>00099 <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); <a name="l00107"></a>00107 <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; } <a name="l00114"></a>00114 <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); <a name="l00122"></a>00122 <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; } <a name="l00129"></a>00129 <a name="l00135"></a>00135 RSError <a class="code" href="classandroid_1_1RSC_1_1RS.html#a44f4660452aee0b1dbd747e383e531be">getError</a>(); <a name="l00136"></a>00136 <a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1RS.html#aff0d61c3a1fa1432a07dae0db14569c4">finish</a>(); <a name="l00142"></a>00142 <a name="l00143"></a>00143 RsContext getContext() { <span class="keywordflow">return</span> mContext; } <a name="l00144"></a>00144 <span class="keywordtype">void</span> throwError(RSError error, <span class="keyword">const</span> <span class="keywordtype">char</span> *errMsg); <a name="l00145"></a>00145 <a name="l00146"></a>00146 <span class="keyword">static</span> dispatchTable* dispatch; <a name="l00147"></a>00147 <a name="l00148"></a>00148 <span class="keyword">private</span>: <a name="l00149"></a>00149 <span class="keyword">static</span> <span class="keywordtype">bool</span> usingNative; <a name="l00150"></a>00150 <span class="keyword">static</span> <span class="keywordtype">bool</span> initDispatch(<span class="keywordtype">int</span> targetApi); <a name="l00151"></a>00151 <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); <a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keywordtype">void</span> * threadProc(<span class="keywordtype">void</span> *); <a name="l00154"></a>00154 <a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keywordtype">bool</span> gInitialized; <a name="l00156"></a>00156 <span class="keyword">static</span> pthread_mutex_t gInitMutex; <a name="l00157"></a>00157 <a name="l00158"></a>00158 pthread_t mMessageThreadId; <a name="l00159"></a>00159 pid_t mNativeMessageThreadId; <a name="l00160"></a>00160 <span class="keywordtype">bool</span> mMessageRun; <a name="l00161"></a>00161 <a name="l00162"></a>00162 RsDevice mDev; <a name="l00163"></a>00163 RsContext mContext; <a name="l00164"></a>00164 RSError mCurrentError; <a name="l00165"></a>00165 <a name="l00166"></a>00166 ErrorHandlerFunc_t mErrorFunc; <a name="l00167"></a>00167 MessageHandlerFunc_t mMessageFunc; <a name="l00168"></a>00168 <span class="keywordtype">bool</span> mInit; <a name="l00169"></a>00169 <a name="l00170"></a>00170 std::string mCacheDir; <a name="l00171"></a>00171 <a name="l00172"></a>00172 <span class="keyword">struct </span>{ <a name="l00173"></a>00173 sp<const Element> U8; <a name="l00174"></a>00174 sp<const Element> U8_2; <a name="l00175"></a>00175 sp<const Element> U8_3; <a name="l00176"></a>00176 sp<const Element> U8_4; <a name="l00177"></a>00177 sp<const Element> I8; <a name="l00178"></a>00178 sp<const Element> I8_2; <a name="l00179"></a>00179 sp<const Element> I8_3; <a name="l00180"></a>00180 sp<const Element> I8_4; <a name="l00181"></a>00181 sp<const Element> U16; <a name="l00182"></a>00182 sp<const Element> U16_2; <a name="l00183"></a>00183 sp<const Element> U16_3; <a name="l00184"></a>00184 sp<const Element> U16_4; <a name="l00185"></a>00185 sp<const Element> I16; <a name="l00186"></a>00186 sp<const Element> I16_2; <a name="l00187"></a>00187 sp<const Element> I16_3; <a name="l00188"></a>00188 sp<const Element> I16_4; <a name="l00189"></a>00189 sp<const Element> U32; <a name="l00190"></a>00190 sp<const Element> U32_2; <a name="l00191"></a>00191 sp<const Element> U32_3; <a name="l00192"></a>00192 sp<const Element> U32_4; <a name="l00193"></a>00193 sp<const Element> I32; <a name="l00194"></a>00194 sp<const Element> I32_2; <a name="l00195"></a>00195 sp<const Element> I32_3; <a name="l00196"></a>00196 sp<const Element> I32_4; <a name="l00197"></a>00197 sp<const Element> U64; <a name="l00198"></a>00198 sp<const Element> U64_2; <a name="l00199"></a>00199 sp<const Element> U64_3; <a name="l00200"></a>00200 sp<const Element> U64_4; <a name="l00201"></a>00201 sp<const Element> I64; <a name="l00202"></a>00202 sp<const Element> I64_2; <a name="l00203"></a>00203 sp<const Element> I64_3; <a name="l00204"></a>00204 sp<const Element> I64_4; <a name="l00205"></a>00205 sp<const Element> F32; <a name="l00206"></a>00206 sp<const Element> F32_2; <a name="l00207"></a>00207 sp<const Element> F32_3; <a name="l00208"></a>00208 sp<const Element> F32_4; <a name="l00209"></a>00209 sp<const Element> F64; <a name="l00210"></a>00210 sp<const Element> F64_2; <a name="l00211"></a>00211 sp<const Element> F64_3; <a name="l00212"></a>00212 sp<const Element> F64_4; <a name="l00213"></a>00213 sp<const Element> BOOLEAN; <a name="l00214"></a>00214 <a name="l00215"></a>00215 sp<const Element> ELEMENT; <a name="l00216"></a>00216 sp<const Element> TYPE; <a name="l00217"></a>00217 sp<const Element> ALLOCATION; <a name="l00218"></a>00218 sp<const Element> SAMPLER; <a name="l00219"></a>00219 sp<const Element> SCRIPT; <a name="l00220"></a>00220 sp<const Element> MESH; <a name="l00221"></a>00221 sp<const Element> PROGRAM_FRAGMENT; <a name="l00222"></a>00222 sp<const Element> PROGRAM_VERTEX; <a name="l00223"></a>00223 sp<const Element> PROGRAM_RASTER; <a name="l00224"></a>00224 sp<const Element> PROGRAM_STORE; <a name="l00225"></a>00225 <a name="l00226"></a>00226 sp<const Element> A_8; <a name="l00227"></a>00227 sp<const Element> RGB_565; <a name="l00228"></a>00228 sp<const Element> RGB_888; <a name="l00229"></a>00229 sp<const Element> RGBA_5551; <a name="l00230"></a>00230 sp<const Element> RGBA_4444; <a name="l00231"></a>00231 sp<const Element> RGBA_8888; <a name="l00232"></a>00232 <a name="l00233"></a>00233 sp<const Element> YUV; <a name="l00234"></a>00234 <a name="l00235"></a>00235 sp<const Element> MATRIX_4X4; <a name="l00236"></a>00236 sp<const Element> MATRIX_3X3; <a name="l00237"></a>00237 sp<const Element> MATRIX_2X2; <a name="l00238"></a>00238 } mElements; <a name="l00239"></a>00239 <a name="l00240"></a>00240 <span class="keyword">struct </span>{ <a name="l00241"></a>00241 sp<const Sampler> CLAMP_NEAREST; <a name="l00242"></a>00242 sp<const Sampler> CLAMP_LINEAR; <a name="l00243"></a>00243 sp<const Sampler> CLAMP_LINEAR_MIP_LINEAR; <a name="l00244"></a>00244 sp<const Sampler> WRAP_NEAREST; <a name="l00245"></a>00245 sp<const Sampler> WRAP_LINEAR; <a name="l00246"></a>00246 sp<const Sampler> WRAP_LINEAR_MIP_LINEAR; <a name="l00247"></a>00247 sp<const Sampler> MIRRORED_REPEAT_NEAREST; <a name="l00248"></a>00248 sp<const Sampler> MIRRORED_REPEAT_LINEAR; <a name="l00249"></a>00249 sp<const Sampler> MIRRORED_REPEAT_LINEAR_MIP_LINEAR; <a name="l00250"></a>00250 } mSamplers; <a name="l00251"></a>00251 <span class="keyword">friend</span> <span class="keyword">class </span>Sampler; <a name="l00252"></a>00252 <span class="keyword">friend</span> <span class="keyword">class </span>Element; <a name="l00253"></a>00253 <span class="keyword">friend</span> <span class="keyword">class </span>ScriptC; <a name="l00254"></a>00254 }; <a name="l00255"></a>00255 <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> { <a name="l00260"></a>00260 <span class="keyword">public</span>: <a name="l00261"></a>00261 <span class="keywordtype">void</span> * getID() <span class="keyword">const</span>; <a name="l00262"></a>00262 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1BaseObj.html">BaseObj</a>(); <a name="l00263"></a>00263 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); <a name="l00264"></a>00264 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equals(sp<const BaseObj> obj); <a name="l00265"></a>00265 <a name="l00266"></a>00266 <span class="keyword">protected</span>: <a name="l00267"></a>00267 <span class="keywordtype">void</span> *mID; <a name="l00268"></a>00268 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; <a name="l00269"></a>00269 std::string mName; <a name="l00270"></a>00270 <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); <a name="l00272"></a>00272 <span class="keywordtype">void</span> checkValid(); <a name="l00273"></a>00273 <a name="l00274"></a>00274 <span class="keyword">static</span> <span class="keywordtype">void</span> * getObjID(sp<const BaseObj> o); <a name="l00275"></a>00275 <a name="l00276"></a>00276 }; <a name="l00277"></a>00277 <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> { <a name="l00294"></a>00294 <span class="keyword">protected</span>: <a name="l00295"></a>00295 sp<const Type> mType; <a name="l00296"></a>00296 uint32_t mUsage; <a name="l00297"></a>00297 sp<Allocation> mAdaptedAllocation; <a name="l00298"></a>00298 <a name="l00299"></a>00299 <span class="keywordtype">bool</span> mConstrainedLOD; <a name="l00300"></a>00300 <span class="keywordtype">bool</span> mConstrainedFace; <a name="l00301"></a>00301 <span class="keywordtype">bool</span> mConstrainedY; <a name="l00302"></a>00302 <span class="keywordtype">bool</span> mConstrainedZ; <a name="l00303"></a>00303 <span class="keywordtype">bool</span> mReadAllowed; <a name="l00304"></a>00304 <span class="keywordtype">bool</span> mWriteAllowed; <a name="l00305"></a>00305 uint32_t mSelectedY; <a name="l00306"></a>00306 uint32_t mSelectedZ; <a name="l00307"></a>00307 uint32_t mSelectedLOD; <a name="l00308"></a>00308 RsAllocationCubemapFace mSelectedFace; <a name="l00309"></a>00309 <a name="l00310"></a>00310 uint32_t mCurrentDimX; <a name="l00311"></a>00311 uint32_t mCurrentDimY; <a name="l00312"></a>00312 uint32_t mCurrentDimZ; <a name="l00313"></a>00313 uint32_t mCurrentCount; <a name="l00314"></a>00314 <a name="l00315"></a>00315 <span class="keywordtype">void</span> * getIDSafe() <span class="keyword">const</span>; <a name="l00316"></a>00316 <span class="keywordtype">void</span> updateCacheInfo(sp<const Type> t); <a name="l00317"></a>00317 <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); <a name="l00319"></a>00319 <a name="l00320"></a>00320 <span class="keywordtype">void</span> validateIsInt32(); <a name="l00321"></a>00321 <span class="keywordtype">void</span> validateIsInt16(); <a name="l00322"></a>00322 <span class="keywordtype">void</span> validateIsInt8(); <a name="l00323"></a>00323 <span class="keywordtype">void</span> validateIsFloat32(); <a name="l00324"></a>00324 <span class="keywordtype">void</span> validateIsObject(); <a name="l00325"></a>00325 <a name="l00326"></a>00326 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); <a name="l00327"></a>00327 <a name="l00328"></a>00328 <span class="keywordtype">void</span> validate2DRange(uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h); <a name="l00329"></a>00329 <span class="keywordtype">void</span> validate3DRange(uint32_t xoff, uint32_t yoff, uint32_t zoff, <a name="l00330"></a>00330 uint32_t w, uint32_t h, uint32_t d); <a name="l00331"></a>00331 <a name="l00332"></a>00332 <span class="keyword">public</span>: <a name="l00333"></a>00333 <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>{ <a name="l00339"></a>00339 <span class="keywordflow">return</span> mType; <a name="l00340"></a>00340 } <a name="l00341"></a>00341 <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); <a name="l00347"></a>00347 <span class="keywordtype">void</span> ioSendOutput(); <a name="l00348"></a>00348 <span class="keywordtype">void</span> ioGetInput(); <a name="l00349"></a>00349 <a name="l00357"></a>00357 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1Allocation.html#a3c9f32ff3070f8a38e3a8c6e58ed7a82">generateMipmaps</a>(); <a name="l00358"></a>00358 <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); <a name="l00366"></a>00366 <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); <a name="l00375"></a>00375 <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); <a name="l00383"></a>00383 <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); <a name="l00389"></a>00389 <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); <a name="l00395"></a>00395 <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, <a name="l00406"></a>00406 <span class="keyword">const</span> <span class="keywordtype">void</span> *data); <a name="l00407"></a>00407 <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, <a name="l00418"></a>00418 <span class="keywordtype">void</span> *data); <a name="l00419"></a>00419 <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, <a name="l00431"></a>00431 sp<const Allocation> data, uint32_t dataXoff, uint32_t dataYoff); <a name="l00432"></a>00432 <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, <a name="l00443"></a>00443 <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); <a name="l00444"></a>00444 <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); <a name="l00451"></a>00451 <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, <a name="l00462"></a>00462 <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> stride); <a name="l00463"></a>00463 <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); <a name="l00470"></a>00470 <a name="l00471"></a>00471 <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, <a name="l00484"></a>00484 uint32_t h, uint32_t d, <span class="keyword">const</span> <span class="keywordtype">void</span>* data); <a name="l00485"></a>00485 <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, <a name="l00500"></a>00500 uint32_t w, uint32_t h, uint32_t d, <a name="l00501"></a>00501 sp<const Allocation> data, <a name="l00502"></a>00502 uint32_t dataXoff, uint32_t dataYoff, uint32_t dataZoff); <a name="l00503"></a>00503 <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, <a name="l00513"></a>00513 RsAllocationMipmapControl mipmaps, uint32_t usage); <a name="l00514"></a>00514 <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, <a name="l00526"></a>00526 RsAllocationMipmapControl mipmaps, uint32_t usage, <span class="keywordtype">void</span> * pointer); <a name="l00527"></a>00527 <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, <a name="l00536"></a>00536 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); <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, <a name="l00546"></a>00546 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); <a name="l00547"></a>00547 <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, <a name="l00558"></a>00558 <span class="keywordtype">size_t</span> x, <span class="keywordtype">size_t</span> y, <a name="l00559"></a>00559 uint32_t usage = RS_ALLOCATION_USAGE_SCRIPT); <a name="l00560"></a>00560 <a name="l00561"></a>00561 <a name="l00562"></a>00562 }; <a name="l00563"></a>00563 <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> { <a name="l00585"></a>00585 <span class="keyword">public</span>: <a name="l00586"></a>00586 <span class="keywordtype">bool</span> isComplex(); <a name="l00587"></a>00587 <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>() { <a name="l00596"></a>00596 <span class="keywordflow">return</span> mVisibleElementMap.size(); <a name="l00597"></a>00597 } <a name="l00598"></a>00598 <a name="l00604"></a>00604 sp<const Element> <a class="code" href="classandroid_1_1RSC_1_1Element.html#a5a23869e7d2a8c22e0d70bf5a90448d1">getSubElement</a>(uint32_t index); <a name="l00605"></a>00605 <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); <a name="l00613"></a>00613 <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); <a name="l00621"></a>00621 <a name="l00627"></a>00627 uint32_t <a class="code" href="classandroid_1_1RSC_1_1Element.html#adaf83e7649e7fd0dfe4b8e2c884bfa5a">getSubElementOffsetBytes</a>(uint32_t index); <a name="l00628"></a>00628 <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>{ <a name="l00634"></a>00634 <span class="keywordflow">return</span> mType; <a name="l00635"></a>00635 } <a name="l00636"></a>00636 <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>{ <a name="l00642"></a>00642 <span class="keywordflow">return</span> mKind; <a name="l00643"></a>00643 } <a name="l00644"></a>00644 <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>{ <a name="l00650"></a>00650 <span class="keywordflow">return</span> mSizeBytes; <a name="l00651"></a>00651 } <a name="l00652"></a>00652 <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>{ <a name="l00658"></a>00658 <span class="keywordflow">return</span> mVectorSize; <a name="l00659"></a>00659 } <a name="l00660"></a>00660 <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <a name="l00793"></a>00793 <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <a name="l00998"></a>00998 <a name="l00999"></a>00999 <span class="keywordtype">void</span> updateFromNative(); <a name="l01000"></a>01000 <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); <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); <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); <a name="l01024"></a>01024 <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>; <a name="l01031"></a>01031 <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> { <a name="l01038"></a>01038 <span class="keyword">private</span>: <a name="l01039"></a>01039 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; <a name="l01040"></a>01040 std::vector<sp<Element> > mElements; <a name="l01041"></a>01041 std::vector<std::string> mElementNames; <a name="l01042"></a>01042 std::vector<uint32_t> mArraySizes; <a name="l01043"></a>01043 <span class="keywordtype">bool</span> mSkipPadding; <a name="l01044"></a>01044 <a name="l01045"></a>01045 <span class="keyword">public</span>: <a name="l01046"></a>01046 <a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>(sp<RS> rs); <a name="l01047"></a>01047 ~<a class="code" href="classandroid_1_1RSC_1_1Element_1_1Builder.html">Builder</a>(); <a name="l01048"></a>01048 <span class="keywordtype">void</span> add(sp<Element> e, std::string &name, uint32_t arraySize = 1); <a name="l01049"></a>01049 sp<const Element> create(); <a name="l01050"></a>01050 }; <a name="l01051"></a>01051 <a name="l01052"></a>01052 <span class="keyword">protected</span>: <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, <a name="l01054"></a>01054 std::vector<sp<Element> > &elements, <a name="l01055"></a>01055 std::vector<std::string> &elementNames, <a name="l01056"></a>01056 std::vector<uint32_t> &arraySizes); <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); <a name="l01058"></a>01058 <a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(sp<RS> rs); <a name="l01059"></a>01059 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1Element.html">Element</a>(); <a name="l01060"></a>01060 <a name="l01061"></a>01061 <span class="keyword">private</span>: <a name="l01062"></a>01062 <span class="keywordtype">void</span> updateVisibleSubElements(); <a name="l01063"></a>01063 <a name="l01064"></a>01064 std::vector<sp<Element> > mElements; <a name="l01065"></a>01065 std::vector<std::string> mElementNames; <a name="l01066"></a>01066 std::vector<uint32_t> mArraySizes; <a name="l01067"></a>01067 std::vector<uint32_t> mVisibleElementMap; <a name="l01068"></a>01068 std::vector<uint32_t> mOffsetInBytes; <a name="l01069"></a>01069 <a name="l01070"></a>01070 RsDataType mType; <a name="l01071"></a>01071 RsDataKind mKind; <a name="l01072"></a>01072 <span class="keywordtype">bool</span> mNormalized; <a name="l01073"></a>01073 <span class="keywordtype">size_t</span> mSizeBytes; <a name="l01074"></a>01074 <span class="keywordtype">size_t</span> mVectorSize; <a name="l01075"></a>01075 }; <a name="l01076"></a>01076 <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> { <a name="l01078"></a>01078 <span class="keyword">protected</span>: <a name="l01079"></a>01079 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* mData; <a name="l01080"></a>01080 <span class="keywordtype">size_t</span> mPos; <a name="l01081"></a>01081 <span class="keywordtype">size_t</span> mLen; <a name="l01082"></a>01082 <a name="l01083"></a>01083 <span class="keyword">public</span>: <a name="l01084"></a>01084 <a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>(<span class="keywordtype">size_t</span> len) <a name="l01085"></a>01085 : mPos(0), mLen(len) { <a name="l01086"></a>01086 mData = <span class="keyword">new</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>[len]; <a name="l01087"></a>01087 } <a name="l01088"></a>01088 <a name="l01089"></a>01089 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1FieldPacker.html">FieldPacker</a>() { <a name="l01090"></a>01090 <span class="keyword">delete</span> [] mData; <a name="l01091"></a>01091 } <a name="l01092"></a>01092 <a name="l01093"></a>01093 <span class="keywordtype">void</span> align(<span class="keywordtype">size_t</span> v) { <a name="l01094"></a>01094 <span class="keywordflow">if</span> ((v & (v - 1)) != 0) { <a name="l01095"></a>01095 <span class="comment">// ALOGE("Non-power-of-two alignment: %zu", v);</span> <a name="l01096"></a>01096 <span class="keywordflow">return</span>; <a name="l01097"></a>01097 } <a name="l01098"></a>01098 <a name="l01099"></a>01099 <span class="keywordflow">while</span> ((mPos & (v - 1)) != 0) { <a name="l01100"></a>01100 mData[mPos++] = 0; <a name="l01101"></a>01101 } <a name="l01102"></a>01102 } <a name="l01103"></a>01103 <a name="l01104"></a>01104 <span class="keywordtype">void</span> reset() { <a name="l01105"></a>01105 mPos = 0; <a name="l01106"></a>01106 } <a name="l01107"></a>01107 <a name="l01108"></a>01108 <span class="keywordtype">void</span> reset(<span class="keywordtype">size_t</span> i) { <a name="l01109"></a>01109 <span class="keywordflow">if</span> (i >= mLen) { <a name="l01110"></a>01110 <span class="comment">// ALOGE("Out of bounds: i (%zu) >= len (%zu)", i, mLen);</span> <a name="l01111"></a>01111 <span class="keywordflow">return</span>; <a name="l01112"></a>01112 } <a name="l01113"></a>01113 mPos = i; <a name="l01114"></a>01114 } <a name="l01115"></a>01115 <a name="l01116"></a>01116 <span class="keywordtype">void</span> skip(<span class="keywordtype">size_t</span> i) { <a name="l01117"></a>01117 <span class="keywordtype">size_t</span> res = mPos + i; <a name="l01118"></a>01118 <span class="keywordflow">if</span> (res > mLen) { <a name="l01119"></a>01119 <span class="comment">// ALOGE("Exceeded buffer length: i (%zu) > len (%zu)", i, mLen);</span> <a name="l01120"></a>01120 <span class="keywordflow">return</span>; <a name="l01121"></a>01121 } <a name="l01122"></a>01122 mPos = res; <a name="l01123"></a>01123 } <a name="l01124"></a>01124 <a name="l01125"></a>01125 <span class="keywordtype">void</span>* getData()<span class="keyword"> const </span>{ <a name="l01126"></a>01126 <span class="keywordflow">return</span> mData; <a name="l01127"></a>01127 } <a name="l01128"></a>01128 <a name="l01129"></a>01129 <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{ <a name="l01130"></a>01130 <span class="keywordflow">return</span> mLen; <a name="l01131"></a>01131 } <a name="l01132"></a>01132 <a name="l01133"></a>01133 <span class="keyword">template</span> <<span class="keyword">typename</span> T> <a name="l01134"></a>01134 <span class="keywordtype">void</span> add(T t) { <a name="l01135"></a>01135 align(<span class="keyword">sizeof</span>(t)); <a name="l01136"></a>01136 <span class="keywordflow">if</span> (mPos + <span class="keyword">sizeof</span>(t) <= mLen) { <a name="l01137"></a>01137 memcpy(&mData[mPos], &t, <span class="keyword">sizeof</span>(t)); <a name="l01138"></a>01138 mPos += <span class="keyword">sizeof</span>(t); <a name="l01139"></a>01139 } <a name="l01140"></a>01140 } <a name="l01141"></a>01141 <a name="l01142"></a>01142 <span class="comment">/*</span> <a name="l01143"></a>01143 <span class="comment"> void add(rs_matrix4x4 m) {</span> <a name="l01144"></a>01144 <span class="comment"> for (size_t i = 0; i < 16; i++) {</span> <a name="l01145"></a>01145 <span class="comment"> add(m.m[i]);</span> <a name="l01146"></a>01146 <span class="comment"> }</span> <a name="l01147"></a>01147 <span class="comment"> }</span> <a name="l01148"></a>01148 <span class="comment"></span> <a name="l01149"></a>01149 <span class="comment"> void add(rs_matrix3x3 m) {</span> <a name="l01150"></a>01150 <span class="comment"> for (size_t i = 0; i < 9; i++) {</span> <a name="l01151"></a>01151 <span class="comment"> add(m.m[i]);</span> <a name="l01152"></a>01152 <span class="comment"> }</span> <a name="l01153"></a>01153 <span class="comment"> }</span> <a name="l01154"></a>01154 <span class="comment"></span> <a name="l01155"></a>01155 <span class="comment"> void add(rs_matrix2x2 m) {</span> <a name="l01156"></a>01156 <span class="comment"> for (size_t i = 0; i < 4; i++) {</span> <a name="l01157"></a>01157 <span class="comment"> add(m.m[i]);</span> <a name="l01158"></a>01158 <span class="comment"> }</span> <a name="l01159"></a>01159 <span class="comment"> }</span> <a name="l01160"></a>01160 <span class="comment"> */</span> <a name="l01161"></a>01161 <a name="l01162"></a>01162 <span class="keywordtype">void</span> add(sp<BaseObj> obj) { <a name="l01163"></a>01163 <span class="keywordflow">if</span> (obj != NULL) { <a name="l01164"></a>01164 add((uint32_t) (uintptr_t) obj->getID()); <a name="l01165"></a>01165 } <span class="keywordflow">else</span> { <a name="l01166"></a>01166 add((uint32_t) 0); <a name="l01167"></a>01167 } <a name="l01168"></a>01168 } <a name="l01169"></a>01169 }; <a name="l01170"></a>01170 <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> { <a name="l01189"></a>01189 <span class="keyword">protected</span>: <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>; <a name="l01191"></a>01191 <a name="l01192"></a>01192 uint32_t mDimX; <a name="l01193"></a>01193 uint32_t mDimY; <a name="l01194"></a>01194 uint32_t mDimZ; <a name="l01195"></a>01195 RSYuvFormat mYuvFormat; <a name="l01196"></a>01196 <span class="keywordtype">bool</span> mDimMipmaps; <a name="l01197"></a>01197 <span class="keywordtype">bool</span> mDimFaces; <a name="l01198"></a>01198 <span class="keywordtype">size_t</span> mElementCount; <a name="l01199"></a>01199 sp<const Element> mElement; <a name="l01200"></a>01200 <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); <a name="l01202"></a>01202 <a name="l01203"></a>01203 <span class="keywordtype">void</span> calcElementCount(); <a name="l01204"></a>01204 <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateFromNative(); <a name="l01205"></a>01205 <a name="l01206"></a>01206 <span class="keyword">public</span>: <a name="l01207"></a>01207 <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>{ <a name="l01213"></a>01213 <span class="keywordflow">return</span> mYuvFormat; <a name="l01214"></a>01214 } <a name="l01215"></a>01215 <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>{ <a name="l01221"></a>01221 <span class="keywordflow">return</span> mElement; <a name="l01222"></a>01222 } <a name="l01223"></a>01223 <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>{ <a name="l01229"></a>01229 <span class="keywordflow">return</span> mDimX; <a name="l01230"></a>01230 } <a name="l01231"></a>01231 <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>{ <a name="l01237"></a>01237 <span class="keywordflow">return</span> mDimY; <a name="l01238"></a>01238 } <a name="l01239"></a>01239 <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>{ <a name="l01245"></a>01245 <span class="keywordflow">return</span> mDimZ; <a name="l01246"></a>01246 } <a name="l01247"></a>01247 <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>{ <a name="l01253"></a>01253 <span class="keywordflow">return</span> mDimMipmaps; <a name="l01254"></a>01254 } <a name="l01255"></a>01255 <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>{ <a name="l01261"></a>01261 <span class="keywordflow">return</span> mDimFaces; <a name="l01262"></a>01262 } <a name="l01263"></a>01263 <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>{ <a name="l01269"></a>01269 <span class="keywordflow">return</span> mElementCount; <a name="l01270"></a>01270 } <a name="l01271"></a>01271 <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>{ <a name="l01277"></a>01277 <span class="keywordflow">return</span> mElementCount * mElement->getSizeBytes(); <a name="l01278"></a>01278 } <a name="l01279"></a>01279 <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); <a name="l01290"></a>01290 <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> { <a name="l01292"></a>01292 <span class="keyword">protected</span>: <a name="l01293"></a>01293 <a class="code" href="classandroid_1_1RSC_1_1RS.html">RS</a>* mRS; <a name="l01294"></a>01294 uint32_t mDimX; <a name="l01295"></a>01295 uint32_t mDimY; <a name="l01296"></a>01296 uint32_t mDimZ; <a name="l01297"></a>01297 RSYuvFormat mYuvFormat; <a name="l01298"></a>01298 <span class="keywordtype">bool</span> mDimMipmaps; <a name="l01299"></a>01299 <span class="keywordtype">bool</span> mDimFaces; <a name="l01300"></a>01300 sp<const Element> mElement; <a name="l01301"></a>01301 <a name="l01302"></a>01302 <span class="keyword">public</span>: <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); <a name="l01304"></a>01304 <a name="l01305"></a>01305 <span class="keywordtype">void</span> setX(uint32_t value); <a name="l01306"></a>01306 <span class="keywordtype">void</span> setY(uint32_t value); <a name="l01307"></a>01307 <span class="keywordtype">void</span> setZ(uint32_t value); <a name="l01308"></a>01308 <span class="keywordtype">void</span> setYuvFormat(RSYuvFormat format); <a name="l01309"></a>01309 <span class="keywordtype">void</span> setMipmaps(<span class="keywordtype">bool</span> value); <a name="l01310"></a>01310 <span class="keywordtype">void</span> setFaces(<span class="keywordtype">bool</span> value); <a name="l01311"></a>01311 sp<const Type> create(); <a name="l01312"></a>01312 }; <a name="l01313"></a>01313 <a name="l01314"></a>01314 }; <a name="l01315"></a>01315 <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> { <a name="l01320"></a>01320 <span class="keyword">private</span>: <a name="l01321"></a>01321 <a name="l01322"></a>01322 <span class="keyword">protected</span>: <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); <a name="l01324"></a>01324 <span class="keywordtype">void</span> forEach(uint32_t slot, sp<const Allocation> in, sp<const Allocation> out, <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>; <a name="l01326"></a>01326 <span class="keywordtype">void</span> bindAllocation(sp<Allocation> va, uint32_t slot) <span class="keyword">const</span>; <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>; <a name="l01328"></a>01328 <span class="keywordtype">void</span> setVar(uint32_t index, sp<const BaseObj> o) <span class="keyword">const</span>; <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>; <a name="l01330"></a>01330 <a name="l01331"></a>01331 <a name="l01332"></a>01332 <span class="keywordtype">void</span> invoke(uint32_t slot)<span class="keyword"> const </span>{ <a name="l01333"></a>01333 invoke(slot, NULL, 0); <a name="l01334"></a>01334 } <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>{ <a name="l01336"></a>01336 setVar(index, &v, <span class="keyword">sizeof</span>(v)); <a name="l01337"></a>01337 } <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>{ <a name="l01339"></a>01339 setVar(index, &v, <span class="keyword">sizeof</span>(v)); <a name="l01340"></a>01340 } <a name="l01341"></a>01341 <span class="keywordtype">void</span> setVar(uint32_t index, int32_t v)<span class="keyword"> const </span>{ <a name="l01342"></a>01342 setVar(index, &v, <span class="keyword">sizeof</span>(v)); <a name="l01343"></a>01343 } <a name="l01344"></a>01344 <span class="keywordtype">void</span> setVar(uint32_t index, int64_t v)<span class="keyword"> const </span>{ <a name="l01345"></a>01345 setVar(index, &v, <span class="keyword">sizeof</span>(v)); <a name="l01346"></a>01346 } <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>{ <a name="l01348"></a>01348 setVar(index, &v, <span class="keyword">sizeof</span>(v)); <a name="l01349"></a>01349 } <a name="l01350"></a>01350 <a name="l01351"></a>01351 <span class="keyword">public</span>: <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> { <a name="l01353"></a>01353 <span class="keyword">protected</span>: <a name="l01354"></a>01354 sp<const Element> mElement; <a name="l01355"></a>01355 sp<Allocation> mAllocation; <a name="l01356"></a>01356 <a name="l01357"></a>01357 <span class="keywordtype">void</span> init(sp<RS> rs, uint32_t dimx, uint32_t usages = 0); <a name="l01358"></a>01358 <a name="l01359"></a>01359 <span class="keyword">public</span>: <a name="l01360"></a>01360 sp<const Element> getElement() { <a name="l01361"></a>01361 <span class="keywordflow">return</span> mElement; <a name="l01362"></a>01362 } <a name="l01363"></a>01363 <a name="l01364"></a>01364 sp<const Type> getType() { <a name="l01365"></a>01365 <span class="keywordflow">return</span> mAllocation->getType(); <a name="l01366"></a>01366 } <a name="l01367"></a>01367 <a name="l01368"></a>01368 sp<const Allocation> getAllocation() { <a name="l01369"></a>01369 <span class="keywordflow">return</span> mAllocation; <a name="l01370"></a>01370 } <a name="l01371"></a>01371 <a name="l01372"></a>01372 <span class="comment">//void updateAllocation();</span> <a name="l01373"></a>01373 }; <a name="l01374"></a>01374 }; <a name="l01375"></a>01375 <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> { <a name="l01380"></a>01380 <span class="keyword">protected</span>: <a name="l01381"></a>01381 <a class="code" href="classandroid_1_1RSC_1_1ScriptC.html">ScriptC</a>(sp<RS> rs, <a name="l01382"></a>01382 <span class="keyword">const</span> <span class="keywordtype">void</span> *codeTxt, <span class="keywordtype">size_t</span> codeLength, <a name="l01383"></a>01383 <span class="keyword">const</span> <span class="keywordtype">char</span> *cachedName, <span class="keywordtype">size_t</span> cachedNameLength, <a name="l01384"></a>01384 <span class="keyword">const</span> <span class="keywordtype">char</span> *cacheDir, <span class="keywordtype">size_t</span> cacheDirLength); <a name="l01385"></a>01385 <a name="l01386"></a>01386 }; <a name="l01387"></a>01387 <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> { <a name="l01393"></a>01393 <span class="keyword">protected</span>: <a name="l01394"></a>01394 sp<const Element> mElement; <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); <a name="l01396"></a>01396 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic.html">ScriptIntrinsic</a>(); <a name="l01397"></a>01397 }; <a name="l01398"></a>01398 <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> { <a name="l01406"></a>01406 <span class="keyword">private</span>: <a name="l01407"></a>01407 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsic3DLUT.html">ScriptIntrinsic3DLUT</a>(sp<RS> rs, sp<const Element> e); <a name="l01408"></a>01408 <span class="keyword">public</span>: <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); <a name="l01416"></a>01416 <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); <a name="l01423"></a>01423 <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); <a name="l01430"></a>01430 }; <a name="l01431"></a>01431 <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> { <a name="l01436"></a>01436 <span class="keyword">private</span>: <a name="l01437"></a>01437 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlend.html">ScriptIntrinsicBlend</a>(sp<RS> rs, sp<const Element> e); <a name="l01438"></a>01438 <span class="keyword">public</span>: <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <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); <a name="l01536"></a>01536 }; <a name="l01537"></a>01537 <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> { <a name="l01543"></a>01543 <span class="keyword">private</span>: <a name="l01544"></a>01544 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicBlur.html">ScriptIntrinsicBlur</a>(sp<RS> rs, sp<const Element> e); <a name="l01545"></a>01545 <span class="keyword">public</span>: <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); <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); <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); <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); <a name="l01568"></a>01568 }; <a name="l01569"></a>01569 <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> { <a name="l01578"></a>01578 <span class="keyword">private</span>: <a name="l01579"></a>01579 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html">ScriptIntrinsicColorMatrix</a>(sp<RS> rs, sp<const Element> e); <a name="l01580"></a>01580 <span class="keyword">public</span>: <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); <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); <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); <a name="l01600"></a>01600 <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); <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); <a name="l01619"></a>01619 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#ae85ce011c6a36f662b641981c48bc78d">setGreyscale</a>(); <a name="l01624"></a>01624 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa8a64388a63db69f8054092ce64c7b73">setRGBtoYUV</a>(); <a name="l01629"></a>01629 <span class="keywordtype">void</span> <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicColorMatrix.html#aa91f50c71c2800b062d659989cf6c722">setYUVtoRGB</a>(); <a name="l01630"></a>01630 }; <a name="l01631"></a>01631 <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> { <a name="l01636"></a>01636 <span class="keyword">private</span>: <a name="l01637"></a>01637 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve3x3.html">ScriptIntrinsicConvolve3x3</a>(sp<RS> rs, sp<const Element> e); <a name="l01638"></a>01638 <span class="keyword">public</span>: <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); <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); <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); <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); <a name="l01662"></a>01662 }; <a name="l01663"></a>01663 <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> { <a name="l01668"></a>01668 <span class="keyword">private</span>: <a name="l01669"></a>01669 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicConvolve5x5.html">ScriptIntrinsicConvolve5x5</a>(sp<RS> rs, sp<const Element> e); <a name="l01670"></a>01670 <span class="keyword">public</span>: <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); <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); <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); <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); <a name="l01694"></a>01694 }; <a name="l01695"></a>01695 <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> { <a name="l01700"></a>01700 <span class="keyword">private</span>: <a name="l01701"></a>01701 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicHistogram.html">ScriptIntrinsicHistogram</a>(sp<RS> rs, sp<const Element> e); <a name="l01702"></a>01702 sp<Allocation> mOut; <a name="l01703"></a>01703 <span class="keyword">public</span>: <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); <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); <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); <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); <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); <a name="l01759"></a>01759 }; <a name="l01760"></a>01760 <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> { <a name="l01767"></a>01767 <span class="keyword">private</span>: <a name="l01768"></a>01768 sp<Allocation> LUT; <a name="l01769"></a>01769 <span class="keywordtype">bool</span> mDirty; <a name="l01770"></a>01770 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> mCache[1024]; <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); <a name="l01772"></a>01772 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>(sp<RS> rs, sp<const Element> e); <a name="l01773"></a>01773 <a name="l01774"></a>01774 <span class="keyword">public</span>: <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); <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); <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); <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); <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); <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); <a name="l01822"></a>01822 <span class="keyword">virtual</span> ~<a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicLUT.html">ScriptIntrinsicLUT</a>(); <a name="l01823"></a>01823 }; <a name="l01824"></a>01824 <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> { <a name="l01833"></a>01833 <span class="keyword">private</span>: <a name="l01834"></a>01834 <a class="code" href="classandroid_1_1RSC_1_1ScriptIntrinsicYuvToRGB.html">ScriptIntrinsicYuvToRGB</a>(sp<RS> rs, sp<const Element> e); <a name="l01835"></a>01835 <span class="keyword">public</span>: <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); <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); <a name="l01853"></a>01853 <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); <a name="l01861"></a>01861 <a name="l01862"></a>01862 }; <a name="l01863"></a>01863 <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> { <a name="l01875"></a>01875 <span class="keyword">private</span>: <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>); <a name="l01877"></a>01877 RsSamplerValue mMin; <a name="l01878"></a>01878 RsSamplerValue mMag; <a name="l01879"></a>01879 RsSamplerValue mWrapS; <a name="l01880"></a>01880 RsSamplerValue mWrapT; <a name="l01881"></a>01881 RsSamplerValue mWrapR; <a name="l01882"></a>01882 <span class="keywordtype">float</span> mAniso; <a name="l01883"></a>01883 <a name="l01884"></a>01884 <span class="keyword">public</span>: <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); <a name="l01895"></a>01895 <a name="l01899"></a>01899 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a22c6f5b3bf6e430a0295ab99f65f3dca">getMinification</a>(); <a name="l01903"></a>01903 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#acaa10a3d84d99cd68d2274cbb427abb9">getMagnification</a>(); <a name="l01907"></a>01907 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#aaa21bc15543fcf02bbd688c38e14080f">getWrapS</a>(); <a name="l01911"></a>01911 RsSamplerValue <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#a9515051eeea23c062d29ca8361114919">getWrapT</a>(); <a name="l01915"></a>01915 <span class="keywordtype">float</span> <a class="code" href="classandroid_1_1RSC_1_1Sampler.html#ac4f94713027d23277a520f27f1522624">getAnisotropy</a>(); <a name="l01916"></a>01916 <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); <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); <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); <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); <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); <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); <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); <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); <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); <a name="l01998"></a>01998 <a name="l01999"></a>01999 }; <a name="l02000"></a>02000 <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> { <a name="l02002"></a>02002 <span class="keyword">public</span>: <a name="l02003"></a>02003 int8_t x, y; <a name="l02004"></a>02004 <a name="l02005"></a>02005 <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>(int8_t initX, int8_t initY) <a name="l02006"></a>02006 : x(initX), y(initY) {} <a name="l02007"></a>02007 <a class="code" href="classandroid_1_1RSC_1_1Byte2.html">Byte2</a>() : x(0), y(0) {} <a name="l02008"></a>02008 }; <a name="l02009"></a>02009 <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> { <a name="l02011"></a>02011 <span class="keyword">public</span>: <a name="l02012"></a>02012 int8_t x, y, z; <a name="l02013"></a>02013 <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) <a name="l02015"></a>02015 : x(initX), y(initY), z(initZ) {} <a name="l02016"></a>02016 <a class="code" href="classandroid_1_1RSC_1_1Byte3.html">Byte3</a>() : x(0), y(0), z(0) {} <a name="l02017"></a>02017 }; <a name="l02018"></a>02018 <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> { <a name="l02020"></a>02020 <span class="keyword">public</span>: <a name="l02021"></a>02021 int8_t x, y, z, w; <a name="l02022"></a>02022 <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) <a name="l02024"></a>02024 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02026"></a>02026 }; <a name="l02027"></a>02027 <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> { <a name="l02029"></a>02029 <span class="keyword">public</span>: <a name="l02030"></a>02030 uint8_t x, y; <a name="l02031"></a>02031 <a name="l02032"></a>02032 <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>(uint8_t initX, uint8_t initY) <a name="l02033"></a>02033 : x(initX), y(initY) {} <a name="l02034"></a>02034 <a class="code" href="classandroid_1_1RSC_1_1UByte2.html">UByte2</a>() : x(0), y(0) {} <a name="l02035"></a>02035 }; <a name="l02036"></a>02036 <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> { <a name="l02038"></a>02038 <span class="keyword">public</span>: <a name="l02039"></a>02039 uint8_t x, y, z; <a name="l02040"></a>02040 <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) <a name="l02042"></a>02042 : x(initX), y(initY), z(initZ) {} <a name="l02043"></a>02043 <a class="code" href="classandroid_1_1RSC_1_1UByte3.html">UByte3</a>() : x(0), y(0), z(0) {} <a name="l02044"></a>02044 }; <a name="l02045"></a>02045 <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> { <a name="l02047"></a>02047 <span class="keyword">public</span>: <a name="l02048"></a>02048 uint8_t x, y, z, w; <a name="l02049"></a>02049 <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) <a name="l02051"></a>02051 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02053"></a>02053 }; <a name="l02054"></a>02054 <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> { <a name="l02056"></a>02056 <span class="keyword">public</span>: <a name="l02057"></a>02057 <span class="keywordtype">short</span> x, y; <a name="l02058"></a>02058 <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) <a name="l02060"></a>02060 : x(initX), y(initY) {} <a name="l02061"></a>02061 <a class="code" href="classandroid_1_1RSC_1_1Short2.html">Short2</a>() : x(0), y(0) {} <a name="l02062"></a>02062 }; <a name="l02063"></a>02063 <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> { <a name="l02065"></a>02065 <span class="keyword">public</span>: <a name="l02066"></a>02066 <span class="keywordtype">short</span> x, y, z; <a name="l02067"></a>02067 <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) <a name="l02069"></a>02069 : x(initX), y(initY), z(initZ) {} <a name="l02070"></a>02070 <a class="code" href="classandroid_1_1RSC_1_1Short3.html">Short3</a>() : x(0), y(0), z(0) {} <a name="l02071"></a>02071 }; <a name="l02072"></a>02072 <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> { <a name="l02074"></a>02074 <span class="keyword">public</span>: <a name="l02075"></a>02075 <span class="keywordtype">short</span> x, y, z, w; <a name="l02076"></a>02076 <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) <a name="l02078"></a>02078 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02080"></a>02080 }; <a name="l02081"></a>02081 <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> { <a name="l02083"></a>02083 <span class="keyword">public</span>: <a name="l02084"></a>02084 uint16_t x, y; <a name="l02085"></a>02085 <a name="l02086"></a>02086 <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>(uint16_t initX, uint16_t initY) <a name="l02087"></a>02087 : x(initX), y(initY) {} <a name="l02088"></a>02088 <a class="code" href="classandroid_1_1RSC_1_1UShort2.html">UShort2</a>() : x(0), y(0) {} <a name="l02089"></a>02089 }; <a name="l02090"></a>02090 <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> { <a name="l02092"></a>02092 <span class="keyword">public</span>: <a name="l02093"></a>02093 uint16_t x, y, z; <a name="l02094"></a>02094 <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) <a name="l02096"></a>02096 : x(initX), y(initY), z(initZ) {} <a name="l02097"></a>02097 <a class="code" href="classandroid_1_1RSC_1_1UShort3.html">UShort3</a>() : x(0), y(0), z(0) {} <a name="l02098"></a>02098 }; <a name="l02099"></a>02099 <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> { <a name="l02101"></a>02101 <span class="keyword">public</span>: <a name="l02102"></a>02102 uint16_t x, y, z, w; <a name="l02103"></a>02103 <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) <a name="l02105"></a>02105 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02107"></a>02107 }; <a name="l02108"></a>02108 <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> { <a name="l02110"></a>02110 <span class="keyword">public</span>: <a name="l02111"></a>02111 <span class="keywordtype">int</span> x, y; <a name="l02112"></a>02112 <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) <a name="l02114"></a>02114 : x(initX), y(initY) {} <a name="l02115"></a>02115 <a class="code" href="classandroid_1_1RSC_1_1Int2.html">Int2</a>() : x(0), y(0) {} <a name="l02116"></a>02116 }; <a name="l02117"></a>02117 <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> { <a name="l02119"></a>02119 <span class="keyword">public</span>: <a name="l02120"></a>02120 <span class="keywordtype">int</span> x, y, z; <a name="l02121"></a>02121 <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) <a name="l02123"></a>02123 : x(initX), y(initY), z(initZ) {} <a name="l02124"></a>02124 <a class="code" href="classandroid_1_1RSC_1_1Int3.html">Int3</a>() : x(0), y(0), z(0) {} <a name="l02125"></a>02125 }; <a name="l02126"></a>02126 <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> { <a name="l02128"></a>02128 <span class="keyword">public</span>: <a name="l02129"></a>02129 <span class="keywordtype">int</span> x, y, z, w; <a name="l02130"></a>02130 <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) <a name="l02132"></a>02132 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02134"></a>02134 }; <a name="l02135"></a>02135 <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> { <a name="l02137"></a>02137 <span class="keyword">public</span>: <a name="l02138"></a>02138 uint32_t x, y; <a name="l02139"></a>02139 <a name="l02140"></a>02140 <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>(uint32_t initX, uint32_t initY) <a name="l02141"></a>02141 : x(initX), y(initY) {} <a name="l02142"></a>02142 <a class="code" href="classandroid_1_1RSC_1_1UInt2.html">UInt2</a>() : x(0), y(0) {} <a name="l02143"></a>02143 }; <a name="l02144"></a>02144 <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> { <a name="l02146"></a>02146 <span class="keyword">public</span>: <a name="l02147"></a>02147 uint32_t x, y, z; <a name="l02148"></a>02148 <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) <a name="l02150"></a>02150 : x(initX), y(initY), z(initZ) {} <a name="l02151"></a>02151 <a class="code" href="classandroid_1_1RSC_1_1UInt3.html">UInt3</a>() : x(0), y(0), z(0) {} <a name="l02152"></a>02152 }; <a name="l02153"></a>02153 <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> { <a name="l02155"></a>02155 <span class="keyword">public</span>: <a name="l02156"></a>02156 uint32_t x, y, z, w; <a name="l02157"></a>02157 <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) <a name="l02159"></a>02159 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02161"></a>02161 }; <a name="l02162"></a>02162 <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> { <a name="l02164"></a>02164 <span class="keyword">public</span>: <a name="l02165"></a>02165 int64_t x, y; <a name="l02166"></a>02166 <a name="l02167"></a>02167 <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>(int64_t initX, int64_t initY) <a name="l02168"></a>02168 : x(initX), y(initY) {} <a name="l02169"></a>02169 <a class="code" href="classandroid_1_1RSC_1_1Long2.html">Long2</a>() : x(0), y(0) {} <a name="l02170"></a>02170 }; <a name="l02171"></a>02171 <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> { <a name="l02173"></a>02173 <span class="keyword">public</span>: <a name="l02174"></a>02174 int64_t x, y, z; <a name="l02175"></a>02175 <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) <a name="l02177"></a>02177 : x(initX), y(initY), z(initZ) {} <a name="l02178"></a>02178 <a class="code" href="classandroid_1_1RSC_1_1Long3.html">Long3</a>() : x(0), y(0), z(0) {} <a name="l02179"></a>02179 }; <a name="l02180"></a>02180 <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> { <a name="l02182"></a>02182 <span class="keyword">public</span>: <a name="l02183"></a>02183 int64_t x, y, z, w; <a name="l02184"></a>02184 <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) <a name="l02186"></a>02186 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02188"></a>02188 }; <a name="l02189"></a>02189 <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> { <a name="l02191"></a>02191 <span class="keyword">public</span>: <a name="l02192"></a>02192 uint64_t x, y; <a name="l02193"></a>02193 <a name="l02194"></a>02194 <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>(uint64_t initX, uint64_t initY) <a name="l02195"></a>02195 : x(initX), y(initY) {} <a name="l02196"></a>02196 <a class="code" href="classandroid_1_1RSC_1_1ULong2.html">ULong2</a>() : x(0), y(0) {} <a name="l02197"></a>02197 }; <a name="l02198"></a>02198 <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> { <a name="l02200"></a>02200 <span class="keyword">public</span>: <a name="l02201"></a>02201 uint64_t x, y, z; <a name="l02202"></a>02202 <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) <a name="l02204"></a>02204 : x(initX), y(initY), z(initZ) {} <a name="l02205"></a>02205 <a class="code" href="classandroid_1_1RSC_1_1ULong3.html">ULong3</a>() : x(0), y(0), z(0) {} <a name="l02206"></a>02206 }; <a name="l02207"></a>02207 <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> { <a name="l02209"></a>02209 <span class="keyword">public</span>: <a name="l02210"></a>02210 uint64_t x, y, z, w; <a name="l02211"></a>02211 <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) <a name="l02213"></a>02213 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02215"></a>02215 }; <a name="l02216"></a>02216 <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> { <a name="l02218"></a>02218 <span class="keyword">public</span>: <a name="l02219"></a>02219 <span class="keywordtype">float</span> x, y; <a name="l02220"></a>02220 <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) <a name="l02222"></a>02222 : x(initX), y(initY) {} <a name="l02223"></a>02223 <a class="code" href="classandroid_1_1RSC_1_1Float2.html">Float2</a>() : x(0), y(0) {} <a name="l02224"></a>02224 }; <a name="l02225"></a>02225 <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> { <a name="l02227"></a>02227 <span class="keyword">public</span>: <a name="l02228"></a>02228 <span class="keywordtype">float</span> x, y, z; <a name="l02229"></a>02229 <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) <a name="l02231"></a>02231 : x(initX), y(initY), z(initZ) {} <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) {} <a name="l02233"></a>02233 }; <a name="l02234"></a>02234 <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> { <a name="l02236"></a>02236 <span class="keyword">public</span>: <a name="l02237"></a>02237 <span class="keywordtype">float</span> x, y, z, w; <a name="l02238"></a>02238 <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) <a name="l02240"></a>02240 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02242"></a>02242 }; <a name="l02243"></a>02243 <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> { <a name="l02245"></a>02245 <span class="keyword">public</span>: <a name="l02246"></a>02246 <span class="keywordtype">double</span> x, y; <a name="l02247"></a>02247 <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) <a name="l02249"></a>02249 : x(initX), y(initY) {} <a name="l02250"></a>02250 <a class="code" href="classandroid_1_1RSC_1_1Double2.html">Double2</a>() : x(0), y(0) {} <a name="l02251"></a>02251 }; <a name="l02252"></a>02252 <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> { <a name="l02254"></a>02254 <span class="keyword">public</span>: <a name="l02255"></a>02255 <span class="keywordtype">double</span> x, y, z; <a name="l02256"></a>02256 <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) <a name="l02258"></a>02258 : x(initX), y(initY), z(initZ) {} <a name="l02259"></a>02259 <a class="code" href="classandroid_1_1RSC_1_1Double3.html">Double3</a>() : x(0), y(0), z(0) {} <a name="l02260"></a>02260 }; <a name="l02261"></a>02261 <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> { <a name="l02263"></a>02263 <span class="keyword">public</span>: <a name="l02264"></a>02264 <span class="keywordtype">double</span> x, y, z, w; <a name="l02265"></a>02265 <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) <a name="l02267"></a>02267 : x(initX), y(initY), z(initZ), w(initW) {} <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) {} <a name="l02269"></a>02269 }; <a name="l02270"></a>02270 <a name="l02271"></a>02271 } <a name="l02272"></a>02272 <a name="l02273"></a>02273 } <a name="l02274"></a>02274 <a name="l02275"></a>02275 <span class="preprocessor">#endif</span> </pre></div></div> </div> </body> </html>