Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: samples/android_sample/jni/android_extension.cc

Issue 11416343: Refactored Android samples / embedder. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Added copyright Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include <android/log.h> 5 #include <android/log.h>
6 #include <EGL/egl.h> 6 #include <EGL/egl.h>
7 #include <GLES2/gl2.h> 7 #include <GLES2/gl2.h>
8 #include <GLES2/gl2ext.h> 8 #include <GLES2/gl2ext.h>
9 #include <jni.h> 9 #include <jni.h>
10 #include <stdio.h> 10 #include <stdio.h>
11 #include <stdlib.h> 11 #include <stdlib.h>
12 #include <string.h> 12 #include <string.h>
13 13
14 #include "bin/log.h"
15 #include "include/dart_api.h" 14 #include "include/dart_api.h"
16 15 #include "jni/android_extension.h"
gram 2012/12/04 22:03:42 Thsi should come first: http://www.corp.google.com
vsm 2012/12/04 23:03:08 Done.
17 Dart_NativeFunction ResolveName(Dart_Handle name, int argc); 16 #include "jni/log.h"
18 17
19 DART_EXPORT Dart_Handle android_extension_Init(Dart_Handle parent_library) { 18 DART_EXPORT Dart_Handle android_extension_Init(Dart_Handle parent_library) {
20 if (Dart_IsError(parent_library)) { return parent_library; } 19 if (Dart_IsError(parent_library)) { return parent_library; }
21 20
22 Dart_Handle result_code = Dart_SetNativeResolver(parent_library, ResolveName); 21 Dart_Handle result_code = Dart_SetNativeResolver(parent_library, ResolveName);
23 if (Dart_IsError(result_code)) return result_code; 22 if (Dart_IsError(result_code)) return result_code;
24 23
25 return Dart_Null(); 24 return Dart_Null();
26 } 25 }
27 26
28 Dart_Handle HandleError(Dart_Handle handle) { 27 Dart_Handle HandleError(Dart_Handle handle) {
29 if (Dart_IsError(handle)) Dart_PropagateError(handle); 28 if (Dart_IsError(handle)) Dart_PropagateError(handle);
30 return handle; 29 return handle;
31 } 30 }
32 31
33 void CheckGLError(const char *function) { 32 void CheckGLError(const char *function) {
34 int error = glGetError(); 33 int error = glGetError();
35 if (error != GL_NO_ERROR) { 34 if (error != GL_NO_ERROR) {
36 Log::PrintErr("ERROR!: %s returns %d", function, error); 35 LOGE("ERROR!: %s returns %d", function, error);
37 } 36 }
38 } 37 }
39 38
40 void Log(Dart_NativeArguments arguments) { 39 void Log(Dart_NativeArguments arguments) {
41 Dart_EnterScope(); 40 Dart_EnterScope();
42 Dart_Handle whatHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 41 Dart_Handle whatHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
43 intptr_t length[1]; 42 intptr_t length[1];
44 HandleError(Dart_StringLength(whatHandle, length)); 43 HandleError(Dart_StringLength(whatHandle, length));
45 uint8_t* str[1]; 44 uint8_t* str[1];
46 HandleError(Dart_StringToUTF8(whatHandle, &str[0], length)); 45 HandleError(Dart_StringToUTF8(whatHandle, &str[0], length));
47 str[0][*length] = 0; 46 str[0][*length] = 0;
48 Log::Print(const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str[0]))); 47 LOGI(const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str[0])));
49 Dart_ExitScope(); 48 Dart_ExitScope();
50 } 49 }
51 50
52 void SystemRand(Dart_NativeArguments arguments) { 51 void SystemRand(Dart_NativeArguments arguments) {
53 Dart_EnterScope(); 52 Dart_EnterScope();
54 Dart_Handle result = HandleError(Dart_NewInteger(rand())); 53 Dart_Handle result = HandleError(Dart_NewInteger(rand()));
55 Dart_SetReturnValue(arguments, result); 54 Dart_SetReturnValue(arguments, result);
56 Dart_ExitScope(); 55 Dart_ExitScope();
57 } 56 }
58 57
59 void SystemSrand(Dart_NativeArguments arguments) { 58 void SystemSrand(Dart_NativeArguments arguments) {
60 Dart_EnterScope(); 59 Dart_EnterScope();
61 bool success = false; 60 bool success = false;
62 Dart_Handle seed_object = HandleError(Dart_GetNativeArgument(arguments, 0)); 61 Dart_Handle seed_object = HandleError(Dart_GetNativeArgument(arguments, 0));
63 if (Dart_IsInteger(seed_object)) { 62 if (Dart_IsInteger(seed_object)) {
64 bool fits; 63 bool fits;
65 HandleError(Dart_IntegerFitsIntoInt64(seed_object, &fits)); 64 HandleError(Dart_IntegerFitsIntoInt64(seed_object, &fits));
66 if (fits) { 65 if (fits) {
67 int64_t seed; 66 int64_t seed;
68 HandleError(Dart_IntegerToInt64(seed_object, &seed)); 67 HandleError(Dart_IntegerToInt64(seed_object, &seed));
69 srand(static_cast<unsigned>(seed)); 68 srand(static_cast<unsigned>(seed));
70 success = true; 69 success = true;
71 } 70 }
72 } 71 }
73 Dart_SetReturnValue(arguments, HandleError(Dart_NewBoolean(success))); 72 Dart_SetReturnValue(arguments, HandleError(Dart_NewBoolean(success)));
74 Dart_ExitScope(); 73 Dart_ExitScope();
75 } 74 }
76 75
77 void EGLSwapBuffers(Dart_NativeArguments arguments) { 76 void EGLSwapBuffers(Dart_NativeArguments arguments) {
78 Log::Print("GLSwapBuffers"); 77 LOGI("GLSwapBuffers");
79 Dart_EnterScope(); 78 Dart_EnterScope();
80 79
81 EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); 80 EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
82 EGLSurface surface = eglGetCurrentSurface(EGL_DRAW); 81 EGLSurface surface = eglGetCurrentSurface(EGL_DRAW);
83 eglSwapBuffers(display, surface); 82 eglSwapBuffers(display, surface);
84 83
85 CheckGLError("eglSwapBuffers"); 84 CheckGLError("eglSwapBuffers");
86 Dart_ExitScope(); 85 Dart_ExitScope();
87 } 86 }
88 87
89 void GLAttachShader(Dart_NativeArguments arguments) { 88 void GLAttachShader(Dart_NativeArguments arguments) {
90 Log::Print("GLAttachShader"); 89 LOGI("GLAttachShader");
91 Dart_EnterScope(); 90 Dart_EnterScope();
92 91
93 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 92 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
94 int64_t program; 93 int64_t program;
95 HandleError(Dart_IntegerToInt64(programHandle, &program)); 94 HandleError(Dart_IntegerToInt64(programHandle, &program));
96 95
97 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 96 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
98 int64_t shader; 97 int64_t shader;
99 HandleError(Dart_IntegerToInt64(shaderHandle, &shader)); 98 HandleError(Dart_IntegerToInt64(shaderHandle, &shader));
100 99
101 glAttachShader(program, shader); 100 glAttachShader(program, shader);
102 CheckGLError("glAttachShader"); 101 CheckGLError("glAttachShader");
103 Dart_ExitScope(); 102 Dart_ExitScope();
104 } 103 }
105 104
106 void GLBindBuffer(Dart_NativeArguments arguments) { 105 void GLBindBuffer(Dart_NativeArguments arguments) {
107 Log::Print("GLBindBuffer"); 106 LOGI("GLBindBuffer");
108 Dart_EnterScope(); 107 Dart_EnterScope();
109 108
110 Dart_Handle targetHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 109 Dart_Handle targetHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
111 int64_t target; 110 int64_t target;
112 HandleError(Dart_IntegerToInt64(targetHandle, &target)); 111 HandleError(Dart_IntegerToInt64(targetHandle, &target));
113 112
114 Dart_Handle bufferHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 113 Dart_Handle bufferHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
115 int64_t buffer; 114 int64_t buffer;
116 HandleError(Dart_IntegerToInt64(bufferHandle, &buffer)); 115 HandleError(Dart_IntegerToInt64(bufferHandle, &buffer));
117 116
118 glBindBuffer(target, buffer); 117 glBindBuffer(target, buffer);
119 CheckGLError("glBindBuffer"); 118 CheckGLError("glBindBuffer");
120 Dart_ExitScope(); 119 Dart_ExitScope();
121 } 120 }
122 121
123 void GLBufferData(Dart_NativeArguments arguments) { 122 void GLBufferData(Dart_NativeArguments arguments) {
124 Log::Print("GLBufferData"); 123 LOGI("GLBufferData");
125 Dart_EnterScope(); 124 Dart_EnterScope();
126 125
127 Dart_Handle targetHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 126 Dart_Handle targetHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
128 int64_t target; 127 int64_t target;
129 HandleError(Dart_IntegerToInt64(targetHandle, &target)); 128 HandleError(Dart_IntegerToInt64(targetHandle, &target));
130 129
131 Dart_Handle dataHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 130 Dart_Handle dataHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
132 intptr_t size; 131 intptr_t size;
133 HandleError(Dart_ListLength(dataHandle, &size)); 132 HandleError(Dart_ListLength(dataHandle, &size));
134 133
135 Log::Print("Size: %d", size); 134 LOGI("Size: %d", size);
136 135
137 // TODO(vsm): No guarantee that this is a float! 136 // TODO(vsm): No guarantee that this is a float!
138 float* data = reinterpret_cast<float*>(malloc(size * sizeof(float))); 137 float* data = reinterpret_cast<float*>(malloc(size * sizeof(float)));
139 for (int i = 0; i < size; i++) { 138 for (int i = 0; i < size; i++) {
140 Dart_Handle elemHandle = HandleError(Dart_ListGetAt(dataHandle, i)); 139 Dart_Handle elemHandle = HandleError(Dart_ListGetAt(dataHandle, i));
141 double value; 140 double value;
142 Dart_DoubleValue(elemHandle, &value); 141 Dart_DoubleValue(elemHandle, &value);
143 data[i] = static_cast<float>(value); 142 data[i] = static_cast<float>(value);
144 Log::Print("Value[%d]: %f", i, data[i]); 143 LOGI("Value[%d]: %f", i, data[i]);
145 } 144 }
146 145
147 Dart_Handle usageHandle = HandleError(Dart_GetNativeArgument(arguments, 2)); 146 Dart_Handle usageHandle = HandleError(Dart_GetNativeArgument(arguments, 2));
148 int64_t usage; 147 int64_t usage;
149 HandleError(Dart_IntegerToInt64(usageHandle, &usage)); 148 HandleError(Dart_IntegerToInt64(usageHandle, &usage));
150 149
151 glBufferData(target, size * sizeof(float), data, usage); 150 glBufferData(target, size * sizeof(float), data, usage);
152 CheckGLError("glBufferData"); 151 CheckGLError("glBufferData");
153 free(data); 152 free(data);
154 Dart_ExitScope(); 153 Dart_ExitScope();
155 } 154 }
156 155
157 void GLCompileShader(Dart_NativeArguments arguments) { 156 void GLCompileShader(Dart_NativeArguments arguments) {
158 Dart_EnterScope(); 157 Dart_EnterScope();
159 158
160 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 159 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
161 int64_t shader; 160 int64_t shader;
162 HandleError(Dart_IntegerToInt64(shaderHandle, &shader)); 161 HandleError(Dart_IntegerToInt64(shaderHandle, &shader));
163 162
164 Log::Print("GLCompileShader"); 163 LOGI("GLCompileShader");
165 glCompileShader(shader); 164 glCompileShader(shader);
166 CheckGLError("glCompileShader"); 165 CheckGLError("glCompileShader");
167 Dart_ExitScope(); 166 Dart_ExitScope();
168 } 167 }
169 168
170 void GLCreateBuffer(Dart_NativeArguments arguments) { 169 void GLCreateBuffer(Dart_NativeArguments arguments) {
171 Log::Print("GLCreateBuffer"); 170 LOGI("GLCreateBuffer");
172 Dart_EnterScope(); 171 Dart_EnterScope();
173 GLuint buffer; 172 GLuint buffer;
174 173
175 glGenBuffers(1, &buffer); 174 glGenBuffers(1, &buffer);
176 CheckGLError("glGenBuffers"); 175 CheckGLError("glGenBuffers");
177 Dart_Handle result = HandleError(Dart_NewInteger(buffer)); 176 Dart_Handle result = HandleError(Dart_NewInteger(buffer));
178 Dart_SetReturnValue(arguments, result); 177 Dart_SetReturnValue(arguments, result);
179 Dart_ExitScope(); 178 Dart_ExitScope();
180 } 179 }
181 180
182 void GLCreateProgram(Dart_NativeArguments arguments) { 181 void GLCreateProgram(Dart_NativeArguments arguments) {
183 Log::Print("GLCreateProgram"); 182 LOGI("GLCreateProgram");
184 Dart_EnterScope(); 183 Dart_EnterScope();
185 184
186 int64_t program = glCreateProgram(); 185 int64_t program = glCreateProgram();
187 CheckGLError("glCreateProgram"); 186 CheckGLError("glCreateProgram");
188 Dart_Handle result = HandleError(Dart_NewInteger(program)); 187 Dart_Handle result = HandleError(Dart_NewInteger(program));
189 Dart_SetReturnValue(arguments, result); 188 Dart_SetReturnValue(arguments, result);
190 Dart_ExitScope(); 189 Dart_ExitScope();
191 } 190 }
192 191
193 void GLCreateShader(Dart_NativeArguments arguments) { 192 void GLCreateShader(Dart_NativeArguments arguments) {
194 Dart_EnterScope(); 193 Dart_EnterScope();
195 194
196 Dart_Handle typeHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 195 Dart_Handle typeHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
197 int64_t type; 196 int64_t type;
198 HandleError(Dart_IntegerToInt64(typeHandle, &type)); 197 HandleError(Dart_IntegerToInt64(typeHandle, &type));
199 198
200 int64_t shader = glCreateShader((GLenum)type); 199 int64_t shader = glCreateShader((GLenum)type);
201 Log::Print("GLCreateShader"); 200 LOGI("GLCreateShader");
202 CheckGLError("glCreateShader"); 201 CheckGLError("glCreateShader");
203 Dart_Handle result = HandleError(Dart_NewInteger(shader)); 202 Dart_Handle result = HandleError(Dart_NewInteger(shader));
204 Dart_SetReturnValue(arguments, result); 203 Dart_SetReturnValue(arguments, result);
205 Dart_ExitScope(); 204 Dart_ExitScope();
206 } 205 }
207 206
208 void GLDrawArrays(Dart_NativeArguments arguments) { 207 void GLDrawArrays(Dart_NativeArguments arguments) {
209 Log::Print("GLDrawArrays"); 208 LOGI("GLDrawArrays");
210 Dart_EnterScope(); 209 Dart_EnterScope();
211 210
212 Dart_Handle modeHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 211 Dart_Handle modeHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
213 int64_t mode; 212 int64_t mode;
214 HandleError(Dart_IntegerToInt64(modeHandle, &mode)); 213 HandleError(Dart_IntegerToInt64(modeHandle, &mode));
215 214
216 Dart_Handle firstHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 215 Dart_Handle firstHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
217 int64_t first; 216 int64_t first;
218 HandleError(Dart_IntegerToInt64(firstHandle, &first)); 217 HandleError(Dart_IntegerToInt64(firstHandle, &first));
219 218
220 Dart_Handle countHandle = HandleError(Dart_GetNativeArgument(arguments, 2)); 219 Dart_Handle countHandle = HandleError(Dart_GetNativeArgument(arguments, 2));
221 int64_t count; 220 int64_t count;
222 HandleError(Dart_IntegerToInt64(countHandle, &count)); 221 HandleError(Dart_IntegerToInt64(countHandle, &count));
223 222
224 glDrawArrays(mode, first, count); 223 glDrawArrays(mode, first, count);
225 CheckGLError("glDrawArrays"); 224 CheckGLError("glDrawArrays");
226 Dart_ExitScope(); 225 Dart_ExitScope();
227 } 226 }
228 227
229 void GLEnableVertexAttribArray(Dart_NativeArguments arguments) { 228 void GLEnableVertexAttribArray(Dart_NativeArguments arguments) {
230 Log::Print("GLEnableVertexAttribArray"); 229 LOGI("GLEnableVertexAttribArray");
231 Dart_EnterScope(); 230 Dart_EnterScope();
232 231
233 Dart_Handle locationHandle = 232 Dart_Handle locationHandle =
234 HandleError(Dart_GetNativeArgument(arguments, 0)); 233 HandleError(Dart_GetNativeArgument(arguments, 0));
235 int64_t location; 234 int64_t location;
236 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 235 HandleError(Dart_IntegerToInt64(locationHandle, &location));
237 236
238 glEnableVertexAttribArray(location); 237 glEnableVertexAttribArray(location);
239 CheckGLError("glEnableVertexAttribArray"); 238 CheckGLError("glEnableVertexAttribArray");
240 Dart_ExitScope(); 239 Dart_ExitScope();
241 } 240 }
242 241
243 void GLGetAttribLocation(Dart_NativeArguments arguments) { 242 void GLGetAttribLocation(Dart_NativeArguments arguments) {
244 Log::Print("GLGetAttribLocation"); 243 LOGI("GLGetAttribLocation");
245 Dart_EnterScope(); 244 Dart_EnterScope();
246 245
247 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 246 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
248 int64_t program; 247 int64_t program;
249 HandleError(Dart_IntegerToInt64(programHandle, &program)); 248 HandleError(Dart_IntegerToInt64(programHandle, &program));
250 249
251 Dart_Handle nameHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 250 Dart_Handle nameHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
252 intptr_t length; 251 intptr_t length;
253 HandleError(Dart_StringLength(nameHandle, &length)); 252 HandleError(Dart_StringLength(nameHandle, &length));
254 uint8_t* str; 253 uint8_t* str;
255 HandleError(Dart_StringToUTF8(nameHandle, &str, &length)); 254 HandleError(Dart_StringToUTF8(nameHandle, &str, &length));
256 str[length] = 0; 255 str[length] = 0;
257 256
258 int64_t location = glGetAttribLocation(program, 257 int64_t location = glGetAttribLocation(program,
259 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str))); 258 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str)));
260 CheckGLError("glGetAttribLocation"); 259 CheckGLError("glGetAttribLocation");
261 Dart_Handle result = HandleError(Dart_NewInteger(location)); 260 Dart_Handle result = HandleError(Dart_NewInteger(location));
262 Dart_SetReturnValue(arguments, result); 261 Dart_SetReturnValue(arguments, result);
263 Dart_ExitScope(); 262 Dart_ExitScope();
264 } 263 }
265 264
266 void GLGetError(Dart_NativeArguments arguments) { 265 void GLGetError(Dart_NativeArguments arguments) {
267 Log::Print("GLGetError"); 266 LOGI("GLGetError");
268 Dart_EnterScope(); 267 Dart_EnterScope();
269 268
270 int64_t error = glGetError(); 269 int64_t error = glGetError();
271 Dart_Handle result = HandleError(Dart_NewInteger(error)); 270 Dart_Handle result = HandleError(Dart_NewInteger(error));
272 Dart_SetReturnValue(arguments, result); 271 Dart_SetReturnValue(arguments, result);
273 Dart_ExitScope(); 272 Dart_ExitScope();
274 } 273 }
275 274
276 void GLGetProgramParameter(Dart_NativeArguments arguments) { 275 void GLGetProgramParameter(Dart_NativeArguments arguments) {
277 Log::Print("GLGetProgramParameter"); 276 LOGI("GLGetProgramParameter");
278 Dart_EnterScope(); 277 Dart_EnterScope();
279 278
280 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 279 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
281 int64_t program; 280 int64_t program;
282 HandleError(Dart_IntegerToInt64(programHandle, &program)); 281 HandleError(Dart_IntegerToInt64(programHandle, &program));
283 282
284 Dart_Handle paramHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 283 Dart_Handle paramHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
285 int64_t param; 284 int64_t param;
286 HandleError(Dart_IntegerToInt64(paramHandle, &param)); 285 HandleError(Dart_IntegerToInt64(paramHandle, &param));
287 286
288 GLint value = -1; 287 GLint value = -1;
289 glGetProgramiv(program, param, &value); 288 glGetProgramiv(program, param, &value);
290 CheckGLError("glGetProgramiv"); 289 CheckGLError("glGetProgramiv");
291 290
292 Dart_Handle result = HandleError(Dart_NewInteger(value)); 291 Dart_Handle result = HandleError(Dart_NewInteger(value));
293 Dart_SetReturnValue(arguments, result); 292 Dart_SetReturnValue(arguments, result);
294 Dart_ExitScope(); 293 Dart_ExitScope();
295 } 294 }
296 295
297 void GLGetShaderParameter(Dart_NativeArguments arguments) { 296 void GLGetShaderParameter(Dart_NativeArguments arguments) {
298 Log::Print("GLGetShaderParameter"); 297 LOGI("GLGetShaderParameter");
299 Dart_EnterScope(); 298 Dart_EnterScope();
300 299
301 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 300 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
302 int64_t shader; 301 int64_t shader;
303 HandleError(Dart_IntegerToInt64(shaderHandle, &shader)); 302 HandleError(Dart_IntegerToInt64(shaderHandle, &shader));
304 303
305 Dart_Handle paramHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 304 Dart_Handle paramHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
306 int64_t param; 305 int64_t param;
307 HandleError(Dart_IntegerToInt64(paramHandle, &param)); 306 HandleError(Dart_IntegerToInt64(paramHandle, &param));
308 307
309 GLint value = -1; 308 GLint value = -1;
310 glGetShaderiv((GLuint)shader, (GLenum)param, &value); 309 glGetShaderiv((GLuint)shader, (GLenum)param, &value);
311 CheckGLError("glGetShaderiv"); 310 CheckGLError("glGetShaderiv");
312 311
313 Dart_Handle result = HandleError(Dart_NewInteger(value)); 312 Dart_Handle result = HandleError(Dart_NewInteger(value));
314 Dart_SetReturnValue(arguments, result); 313 Dart_SetReturnValue(arguments, result);
315 Dart_ExitScope(); 314 Dart_ExitScope();
316 } 315 }
317 316
318 void GLGetShaderInfoLog(Dart_NativeArguments arguments) { 317 void GLGetShaderInfoLog(Dart_NativeArguments arguments) {
319 Log::Print("GLGetShaderInfoLog"); 318 LOGI("GLGetShaderInfoLog");
320 Dart_EnterScope(); 319 Dart_EnterScope();
321 320
322 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 321 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
323 int64_t shader; 322 int64_t shader;
324 HandleError(Dart_IntegerToInt64(shaderHandle, &shader)); 323 HandleError(Dart_IntegerToInt64(shaderHandle, &shader));
325 324
326 GLint infoLogLength = 0; 325 GLint infoLogLength = 0;
327 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); 326 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength);
328 327
329 GLchar* strInfoLog = new GLchar[infoLogLength + 1]; 328 GLchar* strInfoLog = new GLchar[infoLogLength + 1];
330 glGetShaderInfoLog(shader, infoLogLength, NULL, strInfoLog); 329 glGetShaderInfoLog(shader, infoLogLength, NULL, strInfoLog);
331 strInfoLog[infoLogLength] = 0; 330 strInfoLog[infoLogLength] = 0;
332 331
333 Dart_Handle result = HandleError(Dart_NewStringFromCString(strInfoLog)); 332 Dart_Handle result = HandleError(Dart_NewStringFromCString(strInfoLog));
334 Dart_SetReturnValue(arguments, result); 333 Dart_SetReturnValue(arguments, result);
335 Dart_ExitScope(); 334 Dart_ExitScope();
336 delete[] strInfoLog; 335 delete[] strInfoLog;
337 } 336 }
338 337
339 void GLGetProgramInfoLog(Dart_NativeArguments arguments) { 338 void GLGetProgramInfoLog(Dart_NativeArguments arguments) {
340 Log::Print("GLGetProgramInfoLog"); 339 LOGI("GLGetProgramInfoLog");
341 Dart_EnterScope(); 340 Dart_EnterScope();
342 341
343 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 342 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
344 int64_t program; 343 int64_t program;
345 HandleError(Dart_IntegerToInt64(programHandle, &program)); 344 HandleError(Dart_IntegerToInt64(programHandle, &program));
346 345
347 GLint infoLogLength; 346 GLint infoLogLength;
348 glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength); 347 glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength);
349 348
350 GLchar* strInfoLog = new GLchar[infoLogLength + 1]; 349 GLchar* strInfoLog = new GLchar[infoLogLength + 1];
351 glGetProgramInfoLog(program, infoLogLength, NULL, strInfoLog); 350 glGetProgramInfoLog(program, infoLogLength, NULL, strInfoLog);
352 strInfoLog[infoLogLength] = 0; 351 strInfoLog[infoLogLength] = 0;
353 352
354 Dart_Handle result = HandleError(Dart_NewStringFromCString(strInfoLog)); 353 Dart_Handle result = HandleError(Dart_NewStringFromCString(strInfoLog));
355 Dart_SetReturnValue(arguments, result); 354 Dart_SetReturnValue(arguments, result);
356 Dart_ExitScope(); 355 Dart_ExitScope();
357 delete[] strInfoLog; 356 delete[] strInfoLog;
358 } 357 }
359 358
360 void GLGetUniformLocation(Dart_NativeArguments arguments) { 359 void GLGetUniformLocation(Dart_NativeArguments arguments) {
361 Log::Print("GLGetUniformLocation"); 360 LOGI("GLGetUniformLocation");
362 Dart_EnterScope(); 361 Dart_EnterScope();
363 362
364 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 363 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
365 int64_t program; 364 int64_t program;
366 HandleError(Dart_IntegerToInt64(programHandle, &program)); 365 HandleError(Dart_IntegerToInt64(programHandle, &program));
367 366
368 Dart_Handle nameHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 367 Dart_Handle nameHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
369 intptr_t length; 368 intptr_t length;
370 HandleError(Dart_StringLength(nameHandle, &length)); 369 HandleError(Dart_StringLength(nameHandle, &length));
371 uint8_t* str; 370 uint8_t* str;
372 HandleError(Dart_StringToUTF8(nameHandle, &str, &length)); 371 HandleError(Dart_StringToUTF8(nameHandle, &str, &length));
373 str[length] = 0; 372 str[length] = 0;
374 373
375 int64_t location = glGetUniformLocation(program, 374 int64_t location = glGetUniformLocation(program,
376 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str))); 375 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str)));
377 CheckGLError("glGetUniformLocation"); 376 CheckGLError("glGetUniformLocation");
378 Dart_Handle result = HandleError(Dart_NewInteger(location)); 377 Dart_Handle result = HandleError(Dart_NewInteger(location));
379 Dart_SetReturnValue(arguments, result); 378 Dart_SetReturnValue(arguments, result);
380 Dart_ExitScope(); 379 Dart_ExitScope();
381 } 380 }
382 381
383 void GLLinkProgram(Dart_NativeArguments arguments) { 382 void GLLinkProgram(Dart_NativeArguments arguments) {
384 Log::Print("GLLinkProgram"); 383 LOGI("GLLinkProgram");
385 Dart_EnterScope(); 384 Dart_EnterScope();
386 385
387 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 386 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
388 int64_t program; 387 int64_t program;
389 HandleError(Dart_IntegerToInt64(programHandle, &program)); 388 HandleError(Dart_IntegerToInt64(programHandle, &program));
390 389
391 glLinkProgram(program); 390 glLinkProgram(program);
392 CheckGLError("glLinkProgram"); 391 CheckGLError("glLinkProgram");
393 Dart_ExitScope(); 392 Dart_ExitScope();
394 } 393 }
395 394
396 void GLShaderSource(Dart_NativeArguments arguments) { 395 void GLShaderSource(Dart_NativeArguments arguments) {
397 Log::Print("GLShaderSource"); 396 LOGI("GLShaderSource");
398 Dart_EnterScope(); 397 Dart_EnterScope();
399 398
400 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 399 Dart_Handle shaderHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
401 int64_t shader; 400 int64_t shader;
402 HandleError(Dart_IntegerToInt64(shaderHandle, &shader)); 401 HandleError(Dart_IntegerToInt64(shaderHandle, &shader));
403 402
404 Dart_Handle sourceHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 403 Dart_Handle sourceHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
405 intptr_t length[1]; 404 intptr_t length[1];
406 HandleError(Dart_StringLength(sourceHandle, length)); 405 HandleError(Dart_StringLength(sourceHandle, length));
407 Log::Print("Source length is %d", length[0]); 406 LOGI("Source length is %d", length[0]);
408 uint8_t* str[1]; 407 uint8_t* str[1];
409 HandleError(Dart_StringToUTF8(sourceHandle, &str[0], length)); 408 HandleError(Dart_StringToUTF8(sourceHandle, &str[0], length));
410 Log::Print("Converted length is %d", length[0]); 409 LOGI("Converted length is %d", length[0]);
411 str[0][*length] = 0; 410 str[0][*length] = 0;
412 411
413 const GLchar* source = 412 const GLchar* source =
414 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str[0])); 413 const_cast<const GLchar*>(reinterpret_cast<GLchar*>(str[0]));
415 Log::Print("Source: %s", source); 414 LOGI("Source: %s", source);
416 glShaderSource(shader, 1, 415 glShaderSource(shader, 1,
417 const_cast<const GLchar**>(reinterpret_cast<GLchar**>(str)), NULL); 416 const_cast<const GLchar**>(reinterpret_cast<GLchar**>(str)), NULL);
418 CheckGLError("glShaderSource"); 417 CheckGLError("glShaderSource");
419 Dart_ExitScope(); 418 Dart_ExitScope();
420 } 419 }
421 420
422 void GLUseProgram(Dart_NativeArguments arguments) { 421 void GLUseProgram(Dart_NativeArguments arguments) {
423 Log::Print("GLUseProgram"); 422 LOGI("GLUseProgram");
424 Dart_EnterScope(); 423 Dart_EnterScope();
425 424
426 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 425 Dart_Handle programHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
427 int64_t program; 426 int64_t program;
428 HandleError(Dart_IntegerToInt64(programHandle, &program)); 427 HandleError(Dart_IntegerToInt64(programHandle, &program));
429 428
430 glUseProgram(program); 429 glUseProgram(program);
431 CheckGLError("glUseProgram"); 430 CheckGLError("glUseProgram");
432 Dart_ExitScope(); 431 Dart_ExitScope();
433 } 432 }
434 433
435 void GLUniform1i(Dart_NativeArguments arguments) { 434 void GLUniform1i(Dart_NativeArguments arguments) {
436 Log::Print("GLUniform1i"); 435 LOGI("GLUniform1i");
437 Dart_EnterScope(); 436 Dart_EnterScope();
438 437
439 Dart_Handle locationHandle = 438 Dart_Handle locationHandle =
440 HandleError(Dart_GetNativeArgument(arguments, 0)); 439 HandleError(Dart_GetNativeArgument(arguments, 0));
441 int64_t location; 440 int64_t location;
442 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 441 HandleError(Dart_IntegerToInt64(locationHandle, &location));
443 442
444 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 443 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
445 int64_t v0; 444 int64_t v0;
446 HandleError(Dart_IntegerToInt64(v0Handle, &v0)); 445 HandleError(Dart_IntegerToInt64(v0Handle, &v0));
447 446
448 glUniform1i(location, v0); 447 glUniform1i(location, v0);
449 CheckGLError("glUniform1i"); 448 CheckGLError("glUniform1i");
450 Dart_ExitScope(); 449 Dart_ExitScope();
451 } 450 }
452 451
453 void GLUniform2i(Dart_NativeArguments arguments) { 452 void GLUniform2i(Dart_NativeArguments arguments) {
454 Log::Print("GLUniform2i"); 453 LOGI("GLUniform2i");
455 Dart_EnterScope(); 454 Dart_EnterScope();
456 455
457 Dart_Handle locationHandle = 456 Dart_Handle locationHandle =
458 HandleError(Dart_GetNativeArgument(arguments, 0)); 457 HandleError(Dart_GetNativeArgument(arguments, 0));
459 int64_t location; 458 int64_t location;
460 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 459 HandleError(Dart_IntegerToInt64(locationHandle, &location));
461 460
462 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 461 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
463 int64_t v0; 462 int64_t v0;
464 HandleError(Dart_IntegerToInt64(v0Handle, &v0)); 463 HandleError(Dart_IntegerToInt64(v0Handle, &v0));
465 464
466 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 465 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
467 int64_t v1; 466 int64_t v1;
468 HandleError(Dart_IntegerToInt64(v1Handle, &v1)); 467 HandleError(Dart_IntegerToInt64(v1Handle, &v1));
469 468
470 glUniform2i(location, v0, v1); 469 glUniform2i(location, v0, v1);
471 CheckGLError("glUniform2i"); 470 CheckGLError("glUniform2i");
472 Dart_ExitScope(); 471 Dart_ExitScope();
473 } 472 }
474 473
475 void GLUniform3i(Dart_NativeArguments arguments) { 474 void GLUniform3i(Dart_NativeArguments arguments) {
476 Log::Print("GLUniform3i"); 475 LOGI("GLUniform3i");
477 Dart_EnterScope(); 476 Dart_EnterScope();
478 477
479 Dart_Handle locationHandle = 478 Dart_Handle locationHandle =
480 HandleError(Dart_GetNativeArgument(arguments, 0)); 479 HandleError(Dart_GetNativeArgument(arguments, 0));
481 int64_t location; 480 int64_t location;
482 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 481 HandleError(Dart_IntegerToInt64(locationHandle, &location));
483 482
484 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 483 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
485 int64_t v0; 484 int64_t v0;
486 HandleError(Dart_IntegerToInt64(v0Handle, &v0)); 485 HandleError(Dart_IntegerToInt64(v0Handle, &v0));
487 486
488 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 487 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
489 int64_t v1; 488 int64_t v1;
490 HandleError(Dart_IntegerToInt64(v1Handle, &v1)); 489 HandleError(Dart_IntegerToInt64(v1Handle, &v1));
491 490
492 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3)); 491 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3));
493 int64_t v2; 492 int64_t v2;
494 HandleError(Dart_IntegerToInt64(v2Handle, &v2)); 493 HandleError(Dart_IntegerToInt64(v2Handle, &v2));
495 494
496 glUniform3i(location, v0, v1, v2); 495 glUniform3i(location, v0, v1, v2);
497 CheckGLError("glUniform3i"); 496 CheckGLError("glUniform3i");
498 Dart_ExitScope(); 497 Dart_ExitScope();
499 } 498 }
500 499
501 void GLUniform4i(Dart_NativeArguments arguments) { 500 void GLUniform4i(Dart_NativeArguments arguments) {
502 Log::Print("GLUniform4i"); 501 LOGI("GLUniform4i");
503 Dart_EnterScope(); 502 Dart_EnterScope();
504 503
505 Dart_Handle locationHandle = 504 Dart_Handle locationHandle =
506 HandleError(Dart_GetNativeArgument(arguments, 0)); 505 HandleError(Dart_GetNativeArgument(arguments, 0));
507 int64_t location; 506 int64_t location;
508 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 507 HandleError(Dart_IntegerToInt64(locationHandle, &location));
509 508
510 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 509 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
511 int64_t v0; 510 int64_t v0;
512 HandleError(Dart_IntegerToInt64(v0Handle, &v0)); 511 HandleError(Dart_IntegerToInt64(v0Handle, &v0));
513 512
514 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 513 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
515 int64_t v1; 514 int64_t v1;
516 HandleError(Dart_IntegerToInt64(v1Handle, &v1)); 515 HandleError(Dart_IntegerToInt64(v1Handle, &v1));
517 516
518 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3)); 517 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3));
519 int64_t v2; 518 int64_t v2;
520 HandleError(Dart_IntegerToInt64(v2Handle, &v2)); 519 HandleError(Dart_IntegerToInt64(v2Handle, &v2));
521 520
522 Dart_Handle v3Handle = HandleError(Dart_GetNativeArgument(arguments, 4)); 521 Dart_Handle v3Handle = HandleError(Dart_GetNativeArgument(arguments, 4));
523 int64_t v3; 522 int64_t v3;
524 HandleError(Dart_IntegerToInt64(v3Handle, &v3)); 523 HandleError(Dart_IntegerToInt64(v3Handle, &v3));
525 524
526 glUniform4i(location, v0, v1, v2, v3); 525 glUniform4i(location, v0, v1, v2, v3);
527 CheckGLError("glUniform4i"); 526 CheckGLError("glUniform4i");
528 Dart_ExitScope(); 527 Dart_ExitScope();
529 } 528 }
530 529
531 void GLUniform1f(Dart_NativeArguments arguments) { 530 void GLUniform1f(Dart_NativeArguments arguments) {
532 Log::Print("GLUniform1f"); 531 LOGI("GLUniform1f");
533 Dart_EnterScope(); 532 Dart_EnterScope();
534 533
535 Dart_Handle locationHandle = 534 Dart_Handle locationHandle =
536 HandleError(Dart_GetNativeArgument(arguments, 0)); 535 HandleError(Dart_GetNativeArgument(arguments, 0));
537 int64_t location; 536 int64_t location;
538 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 537 HandleError(Dart_IntegerToInt64(locationHandle, &location));
539 538
540 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 539 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
541 double v0; 540 double v0;
542 HandleError(Dart_DoubleValue(v0Handle, &v0)); 541 HandleError(Dart_DoubleValue(v0Handle, &v0));
543 542
544 glUniform1f(location, v0); 543 glUniform1f(location, v0);
545 CheckGLError("glUniform1f"); 544 CheckGLError("glUniform1f");
546 Dart_ExitScope(); 545 Dart_ExitScope();
547 } 546 }
548 547
549 void GLUniform2f(Dart_NativeArguments arguments) { 548 void GLUniform2f(Dart_NativeArguments arguments) {
550 Log::Print("GLUniform2f"); 549 LOGI("GLUniform2f");
551 Dart_EnterScope(); 550 Dart_EnterScope();
552 551
553 Dart_Handle locationHandle = 552 Dart_Handle locationHandle =
554 HandleError(Dart_GetNativeArgument(arguments, 0)); 553 HandleError(Dart_GetNativeArgument(arguments, 0));
555 int64_t location; 554 int64_t location;
556 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 555 HandleError(Dart_IntegerToInt64(locationHandle, &location));
557 556
558 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 557 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
559 double v0; 558 double v0;
560 HandleError(Dart_DoubleValue(v0Handle, &v0)); 559 HandleError(Dart_DoubleValue(v0Handle, &v0));
561 560
562 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 561 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
563 double v1; 562 double v1;
564 HandleError(Dart_DoubleValue(v1Handle, &v1)); 563 HandleError(Dart_DoubleValue(v1Handle, &v1));
565 564
566 glUniform2f(location, v0, v1); 565 glUniform2f(location, v0, v1);
567 CheckGLError("glUniform2f"); 566 CheckGLError("glUniform2f");
568 Dart_ExitScope(); 567 Dart_ExitScope();
569 } 568 }
570 569
571 void GLUniform3f(Dart_NativeArguments arguments) { 570 void GLUniform3f(Dart_NativeArguments arguments) {
572 Log::Print("GLUniform3f"); 571 LOGI("GLUniform3f");
573 Dart_EnterScope(); 572 Dart_EnterScope();
574 573
575 Dart_Handle locationHandle = 574 Dart_Handle locationHandle =
576 HandleError(Dart_GetNativeArgument(arguments, 0)); 575 HandleError(Dart_GetNativeArgument(arguments, 0));
577 int64_t location; 576 int64_t location;
578 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 577 HandleError(Dart_IntegerToInt64(locationHandle, &location));
579 578
580 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 579 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
581 double v0; 580 double v0;
582 HandleError(Dart_DoubleValue(v0Handle, &v0)); 581 HandleError(Dart_DoubleValue(v0Handle, &v0));
583 582
584 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 583 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
585 double v1; 584 double v1;
586 HandleError(Dart_DoubleValue(v1Handle, &v1)); 585 HandleError(Dart_DoubleValue(v1Handle, &v1));
587 586
588 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3)); 587 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3));
589 double v2; 588 double v2;
590 HandleError(Dart_DoubleValue(v2Handle, &v2)); 589 HandleError(Dart_DoubleValue(v2Handle, &v2));
591 590
592 glUniform3f(location, v0, v1, v2); 591 glUniform3f(location, v0, v1, v2);
593 CheckGLError("glUniform3f"); 592 CheckGLError("glUniform3f");
594 Dart_ExitScope(); 593 Dart_ExitScope();
595 } 594 }
596 595
597 void GLUniform4f(Dart_NativeArguments arguments) { 596 void GLUniform4f(Dart_NativeArguments arguments) {
598 Log::Print("GLUniform4f"); 597 LOGI("GLUniform4f");
599 Dart_EnterScope(); 598 Dart_EnterScope();
600 599
601 Dart_Handle locationHandle = 600 Dart_Handle locationHandle =
602 HandleError(Dart_GetNativeArgument(arguments, 0)); 601 HandleError(Dart_GetNativeArgument(arguments, 0));
603 int64_t location; 602 int64_t location;
604 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 603 HandleError(Dart_IntegerToInt64(locationHandle, &location));
605 604
606 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1)); 605 Dart_Handle v0Handle = HandleError(Dart_GetNativeArgument(arguments, 1));
607 double v0; 606 double v0;
608 HandleError(Dart_DoubleValue(v0Handle, &v0)); 607 HandleError(Dart_DoubleValue(v0Handle, &v0));
609 608
610 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2)); 609 Dart_Handle v1Handle = HandleError(Dart_GetNativeArgument(arguments, 2));
611 double v1; 610 double v1;
612 HandleError(Dart_DoubleValue(v1Handle, &v1)); 611 HandleError(Dart_DoubleValue(v1Handle, &v1));
613 612
614 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3)); 613 Dart_Handle v2Handle = HandleError(Dart_GetNativeArgument(arguments, 3));
615 double v2; 614 double v2;
616 HandleError(Dart_DoubleValue(v2Handle, &v2)); 615 HandleError(Dart_DoubleValue(v2Handle, &v2));
617 616
618 Dart_Handle v3Handle = HandleError(Dart_GetNativeArgument(arguments, 4)); 617 Dart_Handle v3Handle = HandleError(Dart_GetNativeArgument(arguments, 4));
619 double v3; 618 double v3;
620 HandleError(Dart_DoubleValue(v3Handle, &v3)); 619 HandleError(Dart_DoubleValue(v3Handle, &v3));
621 620
622 glUniform4f(location, v0, v1, v2, v3); 621 glUniform4f(location, v0, v1, v2, v3);
623 CheckGLError("glUniform4f"); 622 CheckGLError("glUniform4f");
624 Dart_ExitScope(); 623 Dart_ExitScope();
625 } 624 }
626 625
627 void GLUniform1iv(Dart_NativeArguments arguments) { 626 void GLUniform1iv(Dart_NativeArguments arguments) {
628 Log::Print("GLUniform1iv"); 627 LOGI("GLUniform1iv");
629 Dart_EnterScope(); 628 Dart_EnterScope();
630 629
631 Dart_Handle locationHandle = 630 Dart_Handle locationHandle =
632 HandleError(Dart_GetNativeArgument(arguments, 0)); 631 HandleError(Dart_GetNativeArgument(arguments, 0));
633 int64_t location; 632 int64_t location;
634 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 633 HandleError(Dart_IntegerToInt64(locationHandle, &location));
635 634
636 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 635 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
637 636
638 if (Dart_IsList(argHandle)) { 637 if (Dart_IsList(argHandle)) {
639 int len; 638 int len;
640 HandleError(Dart_ListLength(argHandle, &len)); 639 HandleError(Dart_ListLength(argHandle, &len));
641 GLint* list = new GLint[len]; 640 GLint* list = new GLint[len];
642 for (int i = 0; i < len; i++) { 641 for (int i = 0; i < len; i++) {
643 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 642 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
644 int64_t v; 643 int64_t v;
645 HandleError(Dart_IntegerToInt64(vHandle, &v)); 644 HandleError(Dart_IntegerToInt64(vHandle, &v));
646 list[i] = v; 645 list[i] = v;
647 } 646 }
648 glUniform1iv(location, len, list); 647 glUniform1iv(location, len, list);
649 delete [] list; 648 delete [] list;
650 CheckGLError("glUniform1iv"); 649 CheckGLError("glUniform1iv");
651 } 650 }
652 Dart_ExitScope(); 651 Dart_ExitScope();
653 } 652 }
654 653
655 void GLUniform2iv(Dart_NativeArguments arguments) { 654 void GLUniform2iv(Dart_NativeArguments arguments) {
656 Log::Print("GLUniform2iv"); 655 LOGI("GLUniform2iv");
657 Dart_EnterScope(); 656 Dart_EnterScope();
658 657
659 Dart_Handle locationHandle = 658 Dart_Handle locationHandle =
660 HandleError(Dart_GetNativeArgument(arguments, 0)); 659 HandleError(Dart_GetNativeArgument(arguments, 0));
661 int64_t location; 660 int64_t location;
662 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 661 HandleError(Dart_IntegerToInt64(locationHandle, &location));
663 662
664 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 663 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
665 664
666 if (Dart_IsList(argHandle)) { 665 if (Dart_IsList(argHandle)) {
667 int len; 666 int len;
668 HandleError(Dart_ListLength(argHandle, &len)); 667 HandleError(Dart_ListLength(argHandle, &len));
669 GLint* list = new GLint[len]; 668 GLint* list = new GLint[len];
670 for (int i = 0; i < len; i++) { 669 for (int i = 0; i < len; i++) {
671 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 670 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
672 int64_t v; 671 int64_t v;
673 HandleError(Dart_IntegerToInt64(vHandle, &v)); 672 HandleError(Dart_IntegerToInt64(vHandle, &v));
674 list[i] = v; 673 list[i] = v;
675 } 674 }
676 glUniform2iv(location, len / 2, list); 675 glUniform2iv(location, len / 2, list);
677 delete [] list; 676 delete [] list;
678 CheckGLError("glUniform2iv"); 677 CheckGLError("glUniform2iv");
679 } 678 }
680 Dart_ExitScope(); 679 Dart_ExitScope();
681 } 680 }
682 681
683 void GLUniform3iv(Dart_NativeArguments arguments) { 682 void GLUniform3iv(Dart_NativeArguments arguments) {
684 Log::Print("GLUniform3iv"); 683 LOGI("GLUniform3iv");
685 Dart_EnterScope(); 684 Dart_EnterScope();
686 685
687 Dart_Handle locationHandle = 686 Dart_Handle locationHandle =
688 HandleError(Dart_GetNativeArgument(arguments, 0)); 687 HandleError(Dart_GetNativeArgument(arguments, 0));
689 int64_t location; 688 int64_t location;
690 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 689 HandleError(Dart_IntegerToInt64(locationHandle, &location));
691 690
692 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 691 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
693 692
694 if (Dart_IsList(argHandle)) { 693 if (Dart_IsList(argHandle)) {
695 int len; 694 int len;
696 HandleError(Dart_ListLength(argHandle, &len)); 695 HandleError(Dart_ListLength(argHandle, &len));
697 GLint* list = new GLint[len]; 696 GLint* list = new GLint[len];
698 for (int i = 0; i < len; i++) { 697 for (int i = 0; i < len; i++) {
699 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 698 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
700 int64_t v; 699 int64_t v;
701 HandleError(Dart_IntegerToInt64(vHandle, &v)); 700 HandleError(Dart_IntegerToInt64(vHandle, &v));
702 list[i] = v; 701 list[i] = v;
703 } 702 }
704 glUniform3iv(location, len / 3, list); 703 glUniform3iv(location, len / 3, list);
705 delete [] list; 704 delete [] list;
706 CheckGLError("glUniform3iv"); 705 CheckGLError("glUniform3iv");
707 } 706 }
708 Dart_ExitScope(); 707 Dart_ExitScope();
709 } 708 }
710 709
711 void GLUniform4iv(Dart_NativeArguments arguments) { 710 void GLUniform4iv(Dart_NativeArguments arguments) {
712 Log::Print("GLUniform4iv"); 711 LOGI("GLUniform4iv");
713 Dart_EnterScope(); 712 Dart_EnterScope();
714 713
715 Dart_Handle locationHandle = 714 Dart_Handle locationHandle =
716 HandleError(Dart_GetNativeArgument(arguments, 0)); 715 HandleError(Dart_GetNativeArgument(arguments, 0));
717 int64_t location; 716 int64_t location;
718 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 717 HandleError(Dart_IntegerToInt64(locationHandle, &location));
719 718
720 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 719 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
721 720
722 if (Dart_IsList(argHandle)) { 721 if (Dart_IsList(argHandle)) {
723 int len; 722 int len;
724 HandleError(Dart_ListLength(argHandle, &len)); 723 HandleError(Dart_ListLength(argHandle, &len));
725 GLint* list = new GLint[len]; 724 GLint* list = new GLint[len];
726 for (int i = 0; i < len; i++) { 725 for (int i = 0; i < len; i++) {
727 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 726 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
728 int64_t v; 727 int64_t v;
729 HandleError(Dart_IntegerToInt64(vHandle, &v)); 728 HandleError(Dart_IntegerToInt64(vHandle, &v));
730 list[i] = v; 729 list[i] = v;
731 } 730 }
732 glUniform1iv(location, len / 4, list); 731 glUniform1iv(location, len / 4, list);
733 delete [] list; 732 delete [] list;
734 CheckGLError("glUniform4iv"); 733 CheckGLError("glUniform4iv");
735 } 734 }
736 Dart_ExitScope(); 735 Dart_ExitScope();
737 } 736 }
738 737
739 void GLUniform1fv(Dart_NativeArguments arguments) { 738 void GLUniform1fv(Dart_NativeArguments arguments) {
740 Log::Print("GLUniform1fv"); 739 LOGI("GLUniform1fv");
741 Dart_EnterScope(); 740 Dart_EnterScope();
742 741
743 Dart_Handle locationHandle = 742 Dart_Handle locationHandle =
744 HandleError(Dart_GetNativeArgument(arguments, 0)); 743 HandleError(Dart_GetNativeArgument(arguments, 0));
745 int64_t location; 744 int64_t location;
746 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 745 HandleError(Dart_IntegerToInt64(locationHandle, &location));
747 746
748 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 747 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
749 748
750 if (Dart_IsList(argHandle)) { 749 if (Dart_IsList(argHandle)) {
751 int len; 750 int len;
752 HandleError(Dart_ListLength(argHandle, &len)); 751 HandleError(Dart_ListLength(argHandle, &len));
753 GLfloat* list = new GLfloat[len]; 752 GLfloat* list = new GLfloat[len];
754 for (int i = 0; i < len; i++) { 753 for (int i = 0; i < len; i++) {
755 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 754 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
756 double v; 755 double v;
757 HandleError(Dart_DoubleValue(vHandle, &v)); 756 HandleError(Dart_DoubleValue(vHandle, &v));
758 list[i] = v; 757 list[i] = v;
759 } 758 }
760 glUniform1fv(location, len, list); 759 glUniform1fv(location, len, list);
761 delete [] list; 760 delete [] list;
762 CheckGLError("glUniform1fv"); 761 CheckGLError("glUniform1fv");
763 } 762 }
764 Dart_ExitScope(); 763 Dart_ExitScope();
765 } 764 }
766 765
767 void GLUniform2fv(Dart_NativeArguments arguments) { 766 void GLUniform2fv(Dart_NativeArguments arguments) {
768 Log::Print("GLUniform2fv"); 767 LOGI("GLUniform2fv");
769 Dart_EnterScope(); 768 Dart_EnterScope();
770 769
771 Dart_Handle locationHandle = 770 Dart_Handle locationHandle =
772 HandleError(Dart_GetNativeArgument(arguments, 0)); 771 HandleError(Dart_GetNativeArgument(arguments, 0));
773 int64_t location; 772 int64_t location;
774 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 773 HandleError(Dart_IntegerToInt64(locationHandle, &location));
775 774
776 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 775 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
777 776
778 if (Dart_IsList(argHandle)) { 777 if (Dart_IsList(argHandle)) {
779 int len; 778 int len;
780 HandleError(Dart_ListLength(argHandle, &len)); 779 HandleError(Dart_ListLength(argHandle, &len));
781 GLfloat* list = new GLfloat[len]; 780 GLfloat* list = new GLfloat[len];
782 for (int i = 0; i < len; i++) { 781 for (int i = 0; i < len; i++) {
783 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 782 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
784 double v; 783 double v;
785 HandleError(Dart_DoubleValue(vHandle, &v)); 784 HandleError(Dart_DoubleValue(vHandle, &v));
786 list[i] = v; 785 list[i] = v;
787 } 786 }
788 glUniform2fv(location, len / 2, list); 787 glUniform2fv(location, len / 2, list);
789 delete [] list; 788 delete [] list;
790 CheckGLError("glUniform2fv"); 789 CheckGLError("glUniform2fv");
791 } 790 }
792 Dart_ExitScope(); 791 Dart_ExitScope();
793 } 792 }
794 793
795 void GLUniform3fv(Dart_NativeArguments arguments) { 794 void GLUniform3fv(Dart_NativeArguments arguments) {
796 Log::Print("GLUniform3fv"); 795 LOGI("GLUniform3fv");
797 Dart_EnterScope(); 796 Dart_EnterScope();
798 797
799 Dart_Handle locationHandle = 798 Dart_Handle locationHandle =
800 HandleError(Dart_GetNativeArgument(arguments, 0)); 799 HandleError(Dart_GetNativeArgument(arguments, 0));
801 int64_t location; 800 int64_t location;
802 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 801 HandleError(Dart_IntegerToInt64(locationHandle, &location));
803 802
804 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 803 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
805 804
806 if (Dart_IsList(argHandle)) { 805 if (Dart_IsList(argHandle)) {
807 int len; 806 int len;
808 HandleError(Dart_ListLength(argHandle, &len)); 807 HandleError(Dart_ListLength(argHandle, &len));
809 GLfloat* list = new GLfloat[len]; 808 GLfloat* list = new GLfloat[len];
810 for (int i = 0; i < len; i++) { 809 for (int i = 0; i < len; i++) {
811 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 810 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
812 double v; 811 double v;
813 HandleError(Dart_DoubleValue(vHandle, &v)); 812 HandleError(Dart_DoubleValue(vHandle, &v));
814 list[i] = v; 813 list[i] = v;
815 } 814 }
816 glUniform3fv(location, len / 3, list); 815 glUniform3fv(location, len / 3, list);
817 delete [] list; 816 delete [] list;
818 CheckGLError("glUniform3fv"); 817 CheckGLError("glUniform3fv");
819 } 818 }
820 Dart_ExitScope(); 819 Dart_ExitScope();
821 } 820 }
822 821
823 void GLUniform4fv(Dart_NativeArguments arguments) { 822 void GLUniform4fv(Dart_NativeArguments arguments) {
824 Log::Print("In GLUniform4fv"); 823 LOGI("In GLUniform4fv");
825 Dart_EnterScope(); 824 Dart_EnterScope();
826 825
827 Dart_Handle locationHandle = 826 Dart_Handle locationHandle =
828 HandleError(Dart_GetNativeArgument(arguments, 0)); 827 HandleError(Dart_GetNativeArgument(arguments, 0));
829 int64_t location; 828 int64_t location;
830 HandleError(Dart_IntegerToInt64(locationHandle, &location)); 829 HandleError(Dart_IntegerToInt64(locationHandle, &location));
831 830
832 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 831 Dart_Handle argHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
833 832
834 if (Dart_IsList(argHandle)) { 833 if (Dart_IsList(argHandle)) {
835 int len; 834 int len;
836 HandleError(Dart_ListLength(argHandle, &len)); 835 HandleError(Dart_ListLength(argHandle, &len));
837 GLfloat* list = new GLfloat[len]; 836 GLfloat* list = new GLfloat[len];
838 for (int i = 0; i < len; i++) { 837 for (int i = 0; i < len; i++) {
839 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i); 838 Dart_Handle vHandle = Dart_ListGetAt(argHandle, i);
840 double v; 839 double v;
841 HandleError(Dart_DoubleValue(vHandle, &v)); 840 HandleError(Dart_DoubleValue(vHandle, &v));
842 list[i] = v; 841 list[i] = v;
843 } 842 }
844 glUniform4fv(location, len / 4, list); 843 glUniform4fv(location, len / 4, list);
845 delete [] list; 844 delete [] list;
846 CheckGLError("glUniform4fv"); 845 CheckGLError("glUniform4fv");
847 } 846 }
848 Dart_ExitScope(); 847 Dart_ExitScope();
849 } 848 }
850 849
851 void GLViewport(Dart_NativeArguments arguments) { 850 void GLViewport(Dart_NativeArguments arguments) {
852 Log::Print("GLViewport"); 851 LOGI("GLViewport");
853 Dart_EnterScope(); 852 Dart_EnterScope();
854 853
855 Dart_Handle xHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 854 Dart_Handle xHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
856 int64_t x; 855 int64_t x;
857 HandleError(Dart_IntegerToInt64(xHandle, &x)); 856 HandleError(Dart_IntegerToInt64(xHandle, &x));
858 857
859 Dart_Handle yHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 858 Dart_Handle yHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
860 int64_t y; 859 int64_t y;
861 HandleError(Dart_IntegerToInt64(yHandle, &y)); 860 HandleError(Dart_IntegerToInt64(yHandle, &y));
862 861
863 Dart_Handle widthHandle = HandleError(Dart_GetNativeArgument(arguments, 2)); 862 Dart_Handle widthHandle = HandleError(Dart_GetNativeArgument(arguments, 2));
864 int64_t width; 863 int64_t width;
865 HandleError(Dart_IntegerToInt64(widthHandle, &width)); 864 HandleError(Dart_IntegerToInt64(widthHandle, &width));
866 865
867 Dart_Handle heightHandle = HandleError(Dart_GetNativeArgument(arguments, 3)); 866 Dart_Handle heightHandle = HandleError(Dart_GetNativeArgument(arguments, 3));
868 int64_t height; 867 int64_t height;
869 HandleError(Dart_IntegerToInt64(heightHandle, &height)); 868 HandleError(Dart_IntegerToInt64(heightHandle, &height));
870 869
871 Log::Print("Dimensions: [%ld, %ld, %ld, %ld]", x, y, width, height); 870 LOGI("Dimensions: [%ld, %ld, %ld, %ld]", x, y, width, height);
872 871
873 glViewport(x, y, width, height); 872 glViewport(x, y, width, height);
874 CheckGLError("glViewPort"); 873 CheckGLError("glViewPort");
875 Dart_ExitScope(); 874 Dart_ExitScope();
876 } 875 }
877 876
878 void GLVertexAttribPointer(Dart_NativeArguments arguments) { 877 void GLVertexAttribPointer(Dart_NativeArguments arguments) {
879 Log::Print("GLVertexAttribPointer"); 878 LOGI("GLVertexAttribPointer");
880 Dart_EnterScope(); 879 Dart_EnterScope();
881 880
882 Dart_Handle indexHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 881 Dart_Handle indexHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
883 int64_t index; 882 int64_t index;
884 HandleError(Dart_IntegerToInt64(indexHandle, &index)); 883 HandleError(Dart_IntegerToInt64(indexHandle, &index));
885 884
886 Dart_Handle sizeHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 885 Dart_Handle sizeHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
887 int64_t size; 886 int64_t size;
888 HandleError(Dart_IntegerToInt64(sizeHandle, &size)); 887 HandleError(Dart_IntegerToInt64(sizeHandle, &size));
889 888
(...skipping 15 matching lines...) Expand all
905 HandleError(Dart_IntegerToInt64(pointerHandle, &pointerValue)); 904 HandleError(Dart_IntegerToInt64(pointerHandle, &pointerValue));
906 const void* pointer; 905 const void* pointer;
907 pointer = const_cast<const void*>(reinterpret_cast<void*>(pointerValue)); 906 pointer = const_cast<const void*>(reinterpret_cast<void*>(pointerValue));
908 907
909 glVertexAttribPointer(index, size, type, normalized, stride, pointer); 908 glVertexAttribPointer(index, size, type, normalized, stride, pointer);
910 CheckGLError("glVertexAttribPointer"); 909 CheckGLError("glVertexAttribPointer");
911 Dart_ExitScope(); 910 Dart_ExitScope();
912 } 911 }
913 912
914 void GLClearColor(Dart_NativeArguments arguments) { 913 void GLClearColor(Dart_NativeArguments arguments) {
915 Log::Print("GLClearColor"); 914 LOGI("GLClearColor");
916 Dart_EnterScope(); 915 Dart_EnterScope();
917 916
918 Dart_Handle redHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 917 Dart_Handle redHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
919 double red; 918 double red;
920 HandleError(Dart_DoubleValue(redHandle, &red)); 919 HandleError(Dart_DoubleValue(redHandle, &red));
921 920
922 Dart_Handle greenHandle = HandleError(Dart_GetNativeArgument(arguments, 1)); 921 Dart_Handle greenHandle = HandleError(Dart_GetNativeArgument(arguments, 1));
923 double green; 922 double green;
924 HandleError(Dart_DoubleValue(greenHandle, &green)); 923 HandleError(Dart_DoubleValue(greenHandle, &green));
925 924
926 Dart_Handle blueHandle = HandleError(Dart_GetNativeArgument(arguments, 2)); 925 Dart_Handle blueHandle = HandleError(Dart_GetNativeArgument(arguments, 2));
927 double blue; 926 double blue;
928 HandleError(Dart_DoubleValue(blueHandle, &blue)); 927 HandleError(Dart_DoubleValue(blueHandle, &blue));
929 928
930 Dart_Handle alphaHandle = HandleError(Dart_GetNativeArgument(arguments, 3)); 929 Dart_Handle alphaHandle = HandleError(Dart_GetNativeArgument(arguments, 3));
931 double alpha; 930 double alpha;
932 HandleError(Dart_DoubleValue(alphaHandle, &alpha)); 931 HandleError(Dart_DoubleValue(alphaHandle, &alpha));
933 932
934 glClearColor(red, green, blue, alpha); 933 glClearColor(red, green, blue, alpha);
935 CheckGLError("glClearColor"); 934 CheckGLError("glClearColor");
936 Dart_ExitScope(); 935 Dart_ExitScope();
937 } 936 }
938 937
939 void GLClearDepth(Dart_NativeArguments arguments) { 938 void GLClearDepth(Dart_NativeArguments arguments) {
940 Log::Print("GLClearDepth"); 939 LOGI("GLClearDepth");
941 Dart_EnterScope(); 940 Dart_EnterScope();
942 941
943 Dart_Handle depthHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 942 Dart_Handle depthHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
944 double depth; 943 double depth;
945 HandleError(Dart_DoubleValue(depthHandle, &depth)); 944 HandleError(Dart_DoubleValue(depthHandle, &depth));
946 945
947 glClearDepthf(depth); 946 glClearDepthf(depth);
948 CheckGLError("glClearDepthf"); 947 CheckGLError("glClearDepthf");
949 Dart_ExitScope(); 948 Dart_ExitScope();
950 } 949 }
951 950
952 void GLClear(Dart_NativeArguments arguments) { 951 void GLClear(Dart_NativeArguments arguments) {
953 Log::Print("GLClear"); 952 LOGI("GLClear");
954 Dart_EnterScope(); 953 Dart_EnterScope();
955 Dart_Handle maskHandle = HandleError(Dart_GetNativeArgument(arguments, 0)); 954 Dart_Handle maskHandle = HandleError(Dart_GetNativeArgument(arguments, 0));
956 int64_t mask; 955 int64_t mask;
957 HandleError(Dart_IntegerToInt64(maskHandle, &mask)); 956 HandleError(Dart_IntegerToInt64(maskHandle, &mask));
958 glClear(mask); 957 glClear(mask);
959 CheckGLError("glClear"); 958 CheckGLError("glClear");
960 Dart_ExitScope(); 959 Dart_ExitScope();
961 } 960 }
962 961
963 void GLArrayBuffer(Dart_NativeArguments arguments) { 962 void GLArrayBuffer(Dart_NativeArguments arguments) {
964 Log::Print("GLArrayBuffer"); 963 LOGI("GLArrayBuffer");
965 Dart_EnterScope(); 964 Dart_EnterScope();
966 Dart_Handle result = HandleError(Dart_NewInteger(GL_ARRAY_BUFFER)); 965 Dart_Handle result = HandleError(Dart_NewInteger(GL_ARRAY_BUFFER));
967 Dart_SetReturnValue(arguments, result); 966 Dart_SetReturnValue(arguments, result);
968 Dart_ExitScope(); 967 Dart_ExitScope();
969 } 968 }
970 969
971 void GLColorBufferBit(Dart_NativeArguments arguments) { 970 void GLColorBufferBit(Dart_NativeArguments arguments) {
972 Log::Print("GLColorBuffer"); 971 LOGI("GLColorBuffer");
973 Dart_EnterScope(); 972 Dart_EnterScope();
974 Dart_Handle result = HandleError(Dart_NewInteger(GL_COLOR_BUFFER_BIT)); 973 Dart_Handle result = HandleError(Dart_NewInteger(GL_COLOR_BUFFER_BIT));
975 Dart_SetReturnValue(arguments, result); 974 Dart_SetReturnValue(arguments, result);
976 Dart_ExitScope(); 975 Dart_ExitScope();
977 } 976 }
978 977
979 void GLCompileStatus(Dart_NativeArguments arguments) { 978 void GLCompileStatus(Dart_NativeArguments arguments) {
980 Log::Print("GLCompileStatus"); 979 LOGI("GLCompileStatus");
981 Dart_EnterScope(); 980 Dart_EnterScope();
982 Dart_Handle result = HandleError(Dart_NewInteger(GL_COMPILE_STATUS)); 981 Dart_Handle result = HandleError(Dart_NewInteger(GL_COMPILE_STATUS));
983 Dart_SetReturnValue(arguments, result); 982 Dart_SetReturnValue(arguments, result);
984 Dart_ExitScope(); 983 Dart_ExitScope();
985 } 984 }
986 985
987 void GLDepthBufferBit(Dart_NativeArguments arguments) { 986 void GLDepthBufferBit(Dart_NativeArguments arguments) {
988 Log::Print("GLDepthBufferBit"); 987 LOGI("GLDepthBufferBit");
989 Dart_EnterScope(); 988 Dart_EnterScope();
990 Dart_Handle result = HandleError(Dart_NewInteger(GL_DEPTH_BUFFER_BIT)); 989 Dart_Handle result = HandleError(Dart_NewInteger(GL_DEPTH_BUFFER_BIT));
991 Dart_SetReturnValue(arguments, result); 990 Dart_SetReturnValue(arguments, result);
992 Dart_ExitScope(); 991 Dart_ExitScope();
993 } 992 }
994 993
995 void GLFloat(Dart_NativeArguments arguments) { 994 void GLFloat(Dart_NativeArguments arguments) {
996 Dart_EnterScope(); 995 Dart_EnterScope();
997 Dart_Handle result = HandleError(Dart_NewInteger(GL_FLOAT)); 996 Dart_Handle result = HandleError(Dart_NewInteger(GL_FLOAT));
998 Dart_SetReturnValue(arguments, result); 997 Dart_SetReturnValue(arguments, result);
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 HandleError(Dart_StringToCString(name, &cname)); 1177 HandleError(Dart_StringToCString(name, &cname));
1179 for (int i = 0; function_list[i].name != NULL; ++i) { 1178 for (int i = 0; function_list[i].name != NULL; ++i) {
1180 if (strcmp(function_list[i].name, cname) == 0) { 1179 if (strcmp(function_list[i].name, cname) == 0) {
1181 result = function_list[i].function; 1180 result = function_list[i].function;
1182 break; 1181 break;
1183 } 1182 }
1184 } 1183 }
1185 Dart_ExitScope(); 1184 Dart_ExitScope();
1186 return result; 1185 return result;
1187 } 1186 }
1188
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698