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

Side by Side Diff: client/samples/spirodraw/Spirodraw.dart.js

Issue 9226025: New dart.js bootstrap script for apps (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 months 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
(Empty)
1 // ********** Library dart:core **************
2 // ********** Natives dart:core **************
3 function $throw(e) {
4 // If e is not a value, we can use V8's captureStackTrace utility method.
5 // TODO(jmesserly): capture the stack trace on other JS engines.
6 if (e && (typeof e == 'object') && Error.captureStackTrace) {
7 // TODO(jmesserly): this will clobber the e.stack property
8 Error.captureStackTrace(e, $throw);
9 }
10 throw e;
11 }
12 Object.defineProperty(Object.prototype, '$index', { value: function(i) {
13 var proto = Object.getPrototypeOf(this);
14 if (proto !== Object) {
15 proto.$index = function(i) { return this[i]; }
16 }
17 return this[i];
18 }, enumerable: false, writable: true, configurable: true});
19 Object.defineProperty(Array.prototype, '$index', { value: function(i) {
20 return this[i];
21 }, enumerable: false, writable: true, configurable: true});
22 Object.defineProperty(String.prototype, '$index', { value: function(i) {
23 return this[i];
24 }, enumerable: false, writable: true, configurable: true});
25 function $wrap_call$1(fn) { return fn; }
26 function $mod(x, y) {
27 if (typeof(x) == 'number' && typeof(y) == 'number') {
28 var result = x % y;
29 if (result == 0) {
30 return 0; // Make sure we don't return -0.0.
31 } else if (result < 0) {
32 if (y < 0) {
33 return result - y;
34 } else {
35 return result + y;
36 }
37 }
38 return result;
39 } else {
40 return x.$mod(y);
41 }
42 }
43 function $truncdiv(x, y) {
44 if (typeof(x) == 'number' && typeof(y) == 'number') {
45 if (y == 0) $throw(new IntegerDivisionByZeroException());
46 var tmp = x / y;
47 return (tmp < 0) ? Math.ceil(tmp) : Math.floor(tmp);
48 } else {
49 return x.$truncdiv(y);
50 }
51 }
52 Object.defineProperty(Object.prototype, '$typeNameOf', { value: function() {
53 if ((typeof(window) != 'undefined' && window.constructor.name == 'DOMWindow')
54 || typeof(process) != 'undefined') { // fast-path for Chrome and Node
55 return this.constructor.name;
56 }
57 var str = Object.prototype.toString.call(this);
58 str = str.substring(8, str.length - 1);
59 if (str == 'Window') {
60 str = 'DOMWindow';
61 } else if (str == 'Document') {
62 str = 'HTMLDocument';
63 }
64 return str;
65 }, enumerable: false, writable: true, configurable: true});
66 Object.defineProperty(Object.prototype, "get$typeName", { value: Object.prototyp e.$typeNameOf, enumerable: false, writable: true, configurable: true});
67 // ********** Code for Object **************
68 Object.defineProperty(Object.prototype, "noSuchMethod", { value: function(name, args) {
69 $throw(new NoSuchMethodException(this, name, args));
70 }, enumerable: false, writable: true, configurable: true });
71 Object.defineProperty(Object.prototype, "add$1", { value: function($0) {
72 return this.noSuchMethod$2("add", [$0]);
73 }, enumerable: false, writable: true, configurable: true });
74 Object.defineProperty(Object.prototype, "hasNext$0", { value: function() {
75 return this.noSuchMethod$2("hasNext", []);
76 }, enumerable: false, writable: true, configurable: true });
77 Object.defineProperty(Object.prototype, "iterator$0", { value: function() {
78 return this.noSuchMethod$2("iterator", []);
79 }, enumerable: false, writable: true, configurable: true });
80 Object.defineProperty(Object.prototype, "next$0", { value: function() {
81 return this.noSuchMethod$2("next", []);
82 }, enumerable: false, writable: true, configurable: true });
83 Object.defineProperty(Object.prototype, "noSuchMethod$2", { value: function($0, $1) {
84 return this.noSuchMethod($0, $1);
85 }, enumerable: false, writable: true, configurable: true });
86 Object.defineProperty(Object.prototype, "toString$0", { value: function() {
87 return this.toString();
88 }, enumerable: false, writable: true, configurable: true });
89 // ********** Code for IllegalAccessException **************
90 function IllegalAccessException() {
91
92 }
93 IllegalAccessException.prototype.toString = function() {
94 return "Attempt to modify an immutable object";
95 }
96 IllegalAccessException.prototype.toString$0 = IllegalAccessException.prototype.t oString;
97 // ********** Code for NoSuchMethodException **************
98 function NoSuchMethodException(_receiver, _functionName, _arguments) {
99 this._receiver = _receiver;
100 this._functionName = _functionName;
101 this._arguments = _arguments;
102 }
103 NoSuchMethodException.prototype.toString = function() {
104 var sb = new StringBufferImpl("");
105 for (var i = (0);
106 i < this._arguments.get$length(); i++) {
107 if (i > (0)) {
108 sb.add(", ");
109 }
110 sb.add(this._arguments.$index(i));
111 }
112 sb.add("]");
113 return ("NoSuchMethodException - receiver: '" + this._receiver + "' ") + ("fun ction name: '" + this._functionName + "' arguments: [" + sb + "]");
114 }
115 NoSuchMethodException.prototype.toString$0 = NoSuchMethodException.prototype.toS tring;
116 // ********** Code for ClosureArgumentMismatchException **************
117 function ClosureArgumentMismatchException() {
118
119 }
120 ClosureArgumentMismatchException.prototype.toString = function() {
121 return "Closure argument mismatch";
122 }
123 ClosureArgumentMismatchException.prototype.toString$0 = ClosureArgumentMismatchE xception.prototype.toString;
124 // ********** Code for BadNumberFormatException **************
125 function BadNumberFormatException(_s) {
126 this._s = _s;
127 }
128 BadNumberFormatException.prototype.toString = function() {
129 return ("BadNumberFormatException: '" + this._s + "'");
130 }
131 BadNumberFormatException.prototype.toString$0 = BadNumberFormatException.prototy pe.toString;
132 // ********** Code for NoMoreElementsException **************
133 function NoMoreElementsException() {
134
135 }
136 NoMoreElementsException.prototype.toString = function() {
137 return "NoMoreElementsException";
138 }
139 NoMoreElementsException.prototype.toString$0 = NoMoreElementsException.prototype .toString;
140 // ********** Code for dart_core_Function **************
141 Function.prototype.to$call$1 = function() {
142 this.call$1 = this._genStub(1);
143 this.to$call$1 = function() { return this.call$1; };
144 return this.call$1;
145 };
146 Function.prototype.call$1 = function($0) {
147 return this.to$call$1()($0);
148 };
149 function to$call$1(f) { return f && f.to$call$1(); }
150 // ********** Code for Math **************
151 Math.parseInt = function(str) {
152 var ret = parseInt(str);
153 if (isNaN(ret)) $throw(new BadNumberFormatException(str));
154 return ret;
155 }
156 Math.min = function(a, b) {
157 if (a == b) return a;
158 if (a < b) {
159 if (isNaN(b)) return b;
160 else return a;
161 }
162 if (isNaN(a)) return a;
163 else return b;
164 }
165 Math.max = function(a, b) {
166 return (a >= b) ? a : b;
167 }
168 // ********** Code for top level **************
169 // ********** Library dart:coreimpl **************
170 // ********** Code for ListFactory **************
171 ListFactory = Array;
172 ListFactory.ListFactory$from$factory = function(other) {
173 var list = [];
174 for (var $$i = other.iterator$0(); $$i.hasNext$0(); ) {
175 var e = $$i.next$0();
176 list.add$1(e);
177 }
178 return list;
179 }
180 Object.defineProperty(ListFactory.prototype, "get$length", { value: function() { return this.length; }, enumerable: false, writable: true, configurable: true }) ;
181 Object.defineProperty(ListFactory.prototype, "set$length", { value: function(val ue) { return this.length = value; }, enumerable: false, writable: true, configur able: true });
182 Object.defineProperty(ListFactory.prototype, "add", { value: function(value) {
183 this.push(value);
184 }, enumerable: false, writable: true, configurable: true });
185 Object.defineProperty(ListFactory.prototype, "clear", { value: function() {
186 this.set$length((0));
187 }, enumerable: false, writable: true, configurable: true });
188 Object.defineProperty(ListFactory.prototype, "iterator", { value: function() {
189 return new ListIterator(this);
190 }, enumerable: false, writable: true, configurable: true });
191 Object.defineProperty(ListFactory.prototype, "add$1", { value: ListFactory.proto type.add, enumerable: false, writable: true, configurable: true });
192 Object.defineProperty(ListFactory.prototype, "iterator$0", { value: ListFactory. prototype.iterator, enumerable: false, writable: true, configurable: true });
193 ListFactory_E = ListFactory;
194 ListFactory_dart_core_String = ListFactory;
195 // ********** Code for ListIterator **************
196 function ListIterator(array) {
197 this._array = array;
198 this._pos = (0);
199 }
200 ListIterator.prototype.hasNext = function() {
201 return this._array.get$length() > this._pos;
202 }
203 ListIterator.prototype.next = function() {
204 if (!this.hasNext()) {
205 $throw(const$0002);
206 }
207 return this._array.$index(this._pos++);
208 }
209 ListIterator.prototype.hasNext$0 = ListIterator.prototype.hasNext;
210 ListIterator.prototype.next$0 = ListIterator.prototype.next;
211 // ********** Code for ImmutableList **************
212 /** Implements extends for Dart classes on JavaScript prototypes. */
213 function $inherits(child, parent) {
214 if (child.prototype.__proto__) {
215 child.prototype.__proto__ = parent.prototype;
216 } else {
217 function tmp() {};
218 tmp.prototype = parent.prototype;
219 child.prototype = new tmp();
220 child.prototype.constructor = child;
221 }
222 }
223 $inherits(ImmutableList, ListFactory_E);
224 function ImmutableList(length) {
225 Array.call(this, length);
226 }
227 ImmutableList.ImmutableList$from$factory = function(other) {
228 return _constList(other);
229 }
230 ImmutableList.prototype.get$length = function() {
231 return this.length;
232 }
233 ImmutableList.prototype.set$length = function(length) {
234 $throw(const$0001);
235 }
236 ImmutableList.prototype.add = function(element) {
237 $throw(const$0001);
238 }
239 ImmutableList.prototype.clear = function() {
240 $throw(const$0001);
241 }
242 ImmutableList.prototype.toString = function() {
243 return ListFactory.ListFactory$from$factory(this).toString$0();
244 }
245 ImmutableList.prototype.add$1 = ImmutableList.prototype.add;
246 ImmutableList.prototype.toString$0 = ImmutableList.prototype.toString;
247 // ********** Code for NumImplementation **************
248 NumImplementation = Number;
249 NumImplementation.prototype.abs = function() {
250 'use strict'; return Math.abs(this);
251 }
252 NumImplementation.prototype.floor = function() {
253 'use strict'; return Math.floor(this);
254 }
255 NumImplementation.prototype.toInt = function() {
256 'use strict';
257 if (isNaN(this)) $throw(new BadNumberFormatException("NaN"));
258 if ((this == Infinity) || (this == -Infinity)) {
259 $throw(new BadNumberFormatException("Infinity"));
260 }
261 var truncated = (this < 0) ? Math.ceil(this) : Math.floor(this);
262 if (truncated == -0.0) return 0;
263 return truncated;
264 }
265 // ********** Code for StringBufferImpl **************
266 function StringBufferImpl(content) {
267 this.clear();
268 this.add(content);
269 }
270 StringBufferImpl.prototype.add = function(obj) {
271 var str = obj.toString$0();
272 if (str == null || str.isEmpty()) return this;
273 this._buffer.add(str);
274 this._length = this._length + str.length;
275 return this;
276 }
277 StringBufferImpl.prototype.clear = function() {
278 this._buffer = new Array();
279 this._length = (0);
280 return this;
281 }
282 StringBufferImpl.prototype.toString = function() {
283 if (this._buffer.get$length() == (0)) return "";
284 if (this._buffer.get$length() == (1)) return this._buffer.$index((0));
285 var result = StringBase.concatAll(this._buffer);
286 this._buffer.clear();
287 this._buffer.add(result);
288 return result;
289 }
290 StringBufferImpl.prototype.add$1 = StringBufferImpl.prototype.add;
291 StringBufferImpl.prototype.toString$0 = StringBufferImpl.prototype.toString;
292 // ********** Code for StringBase **************
293 function StringBase() {}
294 StringBase.join = function(strings, separator) {
295 if (strings.get$length() == (0)) return "";
296 var s = strings.$index((0));
297 for (var i = (1);
298 i < strings.get$length(); i++) {
299 s = s + separator + strings.$index(i);
300 }
301 return s;
302 }
303 StringBase.concatAll = function(strings) {
304 return StringBase.join(strings, "");
305 }
306 // ********** Code for StringImplementation **************
307 StringImplementation = String;
308 StringImplementation.prototype.isEmpty = function() {
309 return this.length == (0);
310 }
311 // ********** Code for _Worker **************
312 // ********** Code for _ArgumentMismatchException **************
313 $inherits(_ArgumentMismatchException, ClosureArgumentMismatchException);
314 function _ArgumentMismatchException(_message) {
315 this._dart_coreimpl_message = _message;
316 ClosureArgumentMismatchException.call(this);
317 }
318 _ArgumentMismatchException.prototype.toString = function() {
319 return ("Closure argument mismatch: " + this._dart_coreimpl_message);
320 }
321 _ArgumentMismatchException.prototype.toString$0 = _ArgumentMismatchException.pro totype.toString;
322 // ********** Code for _FunctionImplementation **************
323 _FunctionImplementation = Function;
324 _FunctionImplementation.prototype._genStub = function(argsLength, names) {
325 // Fast path #1: if no named arguments and arg count matches
326 if (this.length == argsLength && !names) {
327 return this;
328 }
329
330 var paramsNamed = this.$optional ? (this.$optional.length / 2) : 0;
331 var paramsBare = this.length - paramsNamed;
332 var argsNamed = names ? names.length : 0;
333 var argsBare = argsLength - argsNamed;
334
335 // Check we got the right number of arguments
336 if (argsBare < paramsBare || argsLength > this.length ||
337 argsNamed > paramsNamed) {
338 return function() {
339 $throw(new _ArgumentMismatchException(
340 'Wrong number of arguments to function. Expected ' + paramsBare +
341 ' positional arguments and at most ' + paramsNamed +
342 ' named arguments, but got ' + argsBare +
343 ' positional arguments and ' + argsNamed + ' named arguments.'));
344 };
345 }
346
347 // First, fill in all of the default values
348 var p = new Array(paramsBare);
349 if (paramsNamed) {
350 p = p.concat(this.$optional.slice(paramsNamed));
351 }
352 // Fill in positional args
353 var a = new Array(argsLength);
354 for (var i = 0; i < argsBare; i++) {
355 p[i] = a[i] = '$' + i;
356 }
357 // Then overwrite with supplied values for optional args
358 var lastParameterIndex;
359 var namesInOrder = true;
360 for (var i = 0; i < argsNamed; i++) {
361 var name = names[i];
362 a[i + argsBare] = name;
363 var j = this.$optional.indexOf(name);
364 if (j < 0 || j >= paramsNamed) {
365 return function() {
366 $throw(new _ArgumentMismatchException(
367 'Named argument "' + name + '" was not expected by function.' +
368 ' Did you forget to mark the function parameter [optional]?'));
369 };
370 } else if (lastParameterIndex && lastParameterIndex > j) {
371 namesInOrder = false;
372 }
373 p[j + paramsBare] = name;
374 lastParameterIndex = j;
375 }
376
377 if (this.length == argsLength && namesInOrder) {
378 // Fast path #2: named arguments, but they're in order and all supplied.
379 return this;
380 }
381
382 // Note: using Function instead of 'eval' to get a clean scope.
383 // TODO(jmesserly): evaluate the performance of these stubs.
384 var f = 'function(' + a.join(',') + '){return $f(' + p.join(',') + ');}';
385 return new Function('$f', 'return ' + f + '').call(null, this);
386
387 }
388 // ********** Code for top level **************
389 function _constList(other) {
390 other.__proto__ = ImmutableList.prototype;
391 return other;
392 }
393 // ********** Library dom **************
394 // ********** Code for dom_Window **************
395 // ********** Code for dom_AbstractWorker **************
396 // ********** Code for dom_ArrayBuffer **************
397 // ********** Code for dom_ArrayBufferView **************
398 // ********** Code for dom_Attr **************
399 // ********** Code for dom_AudioBuffer **************
400 // ********** Code for dom_AudioBufferSourceNode **************
401 // ********** Code for dom_AudioChannelMerger **************
402 // ********** Code for dom_AudioChannelSplitter **************
403 // ********** Code for dom_AudioContext **************
404 // ********** Code for dom_AudioDestinationNode **************
405 // ********** Code for dom_AudioGain **************
406 // ********** Code for dom_AudioGainNode **************
407 // ********** Code for dom_AudioListener **************
408 // ********** Code for dom_AudioNode **************
409 // ********** Code for dom_AudioPannerNode **************
410 // ********** Code for dom_AudioParam **************
411 // ********** Code for dom_AudioProcessingEvent **************
412 // ********** Code for dom_AudioSourceNode **************
413 // ********** Code for dom_BarInfo **************
414 // ********** Code for dom_BeforeLoadEvent **************
415 // ********** Code for dom_BiquadFilterNode **************
416 // ********** Code for dom_Blob **************
417 // ********** Code for dom_CDATASection **************
418 // ********** Code for dom_CSSCharsetRule **************
419 // ********** Code for dom_CSSFontFaceRule **************
420 // ********** Code for dom_CSSImportRule **************
421 // ********** Code for dom_CSSMediaRule **************
422 // ********** Code for dom_CSSPageRule **************
423 // ********** Code for dom_CSSPrimitiveValue **************
424 // ********** Code for dom_CSSRule **************
425 // ********** Code for dom_CSSRuleList **************
426 // ********** Code for dom_CSSStyleDeclaration **************
427 // ********** Code for dom_CSSStyleRule **************
428 // ********** Code for dom_CSSStyleSheet **************
429 // ********** Code for dom_CSSUnknownRule **************
430 // ********** Code for dom_CSSValue **************
431 // ********** Code for dom_CSSValueList **************
432 // ********** Code for dom_CanvasGradient **************
433 // ********** Code for dom_CanvasPattern **************
434 // ********** Code for dom_CanvasPixelArray **************
435 // ********** Code for dom_CanvasRenderingContext **************
436 // ********** Code for dom_CanvasRenderingContext2D **************
437 // ********** Code for dom_CharacterData **************
438 // ********** Code for dom_ClientRect **************
439 // ********** Code for dom_ClientRectList **************
440 // ********** Code for dom_Clipboard **************
441 // ********** Code for dom_CloseEvent **************
442 // ********** Code for dom_Comment **************
443 // ********** Code for dom_CompositionEvent **************
444 // ********** Code for Console **************
445 Console = (typeof console == 'undefined' ? {} : console);
446 // ********** Code for dom_ConvolverNode **************
447 // ********** Code for dom_Coordinates **************
448 // ********** Code for dom_Counter **************
449 // ********** Code for dom_Crypto **************
450 // ********** Code for dom_CustomEvent **************
451 // ********** Code for dom_DOMApplicationCache **************
452 // ********** Code for dom_DOMException **************
453 function $dynamic(name) {
454 var f = Object.prototype[name];
455 if (f && f.methods) return f.methods;
456
457 var methods = {};
458 if (f) methods.Object = f;
459 function $dynamicBind() {
460 // Find the target method
461 var obj = this;
462 var tag = obj.$typeNameOf();
463 var method = methods[tag];
464 if (!method) {
465 var table = $dynamicMetadata;
466 for (var i = 0; i < table.length; i++) {
467 var entry = table[i];
468 if (entry.map.hasOwnProperty(tag)) {
469 method = methods[entry.tag];
470 if (method) break;
471 }
472 }
473 }
474 method = method || methods.Object;
475 var proto = Object.getPrototypeOf(obj);
476 if (!proto.hasOwnProperty(name)) {
477 Object.defineProperty(proto, name,
478 { value: method, enumerable: false, writable: true,
479 configurable: true });
480 }
481
482 return method.apply(this, Array.prototype.slice.call(arguments));
483 };
484 $dynamicBind.methods = methods;
485 Object.defineProperty(Object.prototype, name, { value: $dynamicBind,
486 enumerable: false, writable: true, configurable: true});
487 return methods;
488 }
489 if (typeof $dynamicMetadata == 'undefined') $dynamicMetadata = [];
490
491 function $dynamicSetMetadata(inputTable) {
492 // TODO: Deal with light isolates.
493 var table = [];
494 for (var i = 0; i < inputTable.length; i++) {
495 var tag = inputTable[i][0];
496 var tags = inputTable[i][1];
497 var map = {};
498 var tagNames = tags.split('|');
499 for (var j = 0; j < tagNames.length; j++) {
500 map[tagNames[j]] = true;
501 }
502 table.push({tag: tag, tags: tags, map: map});
503 }
504 $dynamicMetadata = table;
505 }
506 $dynamic("toString$0").DOMException = function() {
507 return this.toString();
508 };
509 // ********** Code for dom_DOMFileSystem **************
510 // ********** Code for dom_DOMFileSystemSync **************
511 // ********** Code for dom_DOMFormData **************
512 // ********** Code for dom_DOMImplementation **************
513 // ********** Code for dom_DOMMimeType **************
514 // ********** Code for dom_DOMMimeTypeArray **************
515 // ********** Code for dom_DOMParser **************
516 // ********** Code for dom_DOMPlugin **************
517 // ********** Code for dom_DOMPluginArray **************
518 // ********** Code for dom_DOMSelection **************
519 $dynamic("toString$0").DOMSelection = function() {
520 return this.toString();
521 };
522 // ********** Code for dom_DOMSettableTokenList **************
523 // ********** Code for dom_DOMTokenList **************
524 $dynamic("add$1").DOMTokenList = function($0) {
525 return this.add($0);
526 };
527 $dynamic("toString$0").DOMTokenList = function() {
528 return this.toString();
529 };
530 // ********** Code for dom_DOMURL **************
531 // ********** Code for dom_DOMWindow **************
532 // ********** Code for dom_DataTransferItem **************
533 // ********** Code for dom_DataTransferItemList **************
534 // ********** Code for dom_DataView **************
535 // ********** Code for dom_Database **************
536 // ********** Code for dom_DatabaseSync **************
537 // ********** Code for dom_DedicatedWorkerContext **************
538 // ********** Code for dom_DelayNode **************
539 // ********** Code for dom_DeviceMotionEvent **************
540 // ********** Code for dom_DeviceOrientationEvent **************
541 // ********** Code for dom_DirectoryEntry **************
542 // ********** Code for dom_DirectoryEntrySync **************
543 // ********** Code for dom_DirectoryReader **************
544 // ********** Code for dom_DirectoryReaderSync **************
545 // ********** Code for dom_Document **************
546 // ********** Code for dom_DocumentFragment **************
547 // ********** Code for dom_DocumentType **************
548 // ********** Code for dom_DynamicsCompressorNode **************
549 // ********** Code for dom_Element **************
550 // ********** Code for dom_ElementTimeControl **************
551 // ********** Code for dom_ElementTraversal **************
552 // ********** Code for dom_Entity **************
553 // ********** Code for dom_EntityReference **************
554 // ********** Code for dom_Entry **************
555 // ********** Code for dom_EntryArray **************
556 // ********** Code for dom_EntryArraySync **************
557 // ********** Code for dom_EntrySync **************
558 // ********** Code for dom_ErrorEvent **************
559 // ********** Code for dom_Event **************
560 // ********** Code for dom_EventException **************
561 $dynamic("toString$0").EventException = function() {
562 return this.toString();
563 };
564 // ********** Code for dom_EventSource **************
565 // ********** Code for dom_EventTarget **************
566 // ********** Code for dom_File **************
567 // ********** Code for dom_FileEntry **************
568 // ********** Code for dom_FileEntrySync **************
569 // ********** Code for dom_FileError **************
570 // ********** Code for dom_FileException **************
571 $dynamic("toString$0").FileException = function() {
572 return this.toString();
573 };
574 // ********** Code for dom_FileList **************
575 // ********** Code for dom_FileReader **************
576 // ********** Code for dom_FileReaderSync **************
577 // ********** Code for dom_FileWriter **************
578 // ********** Code for dom_FileWriterSync **************
579 // ********** Code for dom_Float32Array **************
580 $dynamic("get$length").Float32Array = function() { return this.length; };
581 $dynamic("set$length").Float32Array = function(value) { return this.length = val ue; };
582 // ********** Code for dom_Float64Array **************
583 $dynamic("get$length").Float64Array = function() { return this.length; };
584 $dynamic("set$length").Float64Array = function(value) { return this.length = val ue; };
585 // ********** Code for dom_Geolocation **************
586 // ********** Code for dom_Geoposition **************
587 // ********** Code for dom_HTMLAllCollection **************
588 // ********** Code for dom_HTMLAnchorElement **************
589 $dynamic("toString$0").HTMLAnchorElement = function() {
590 return this.toString();
591 };
592 // ********** Code for dom_HTMLAppletElement **************
593 // ********** Code for dom_HTMLAreaElement **************
594 // ********** Code for dom_HTMLAudioElement **************
595 // ********** Code for dom_HTMLBRElement **************
596 // ********** Code for dom_HTMLBaseElement **************
597 // ********** Code for dom_HTMLBaseFontElement **************
598 // ********** Code for dom_HTMLBodyElement **************
599 // ********** Code for dom_HTMLButtonElement **************
600 // ********** Code for dom_HTMLCanvasElement **************
601 // ********** Code for dom_HTMLCollection **************
602 // ********** Code for dom_HTMLDListElement **************
603 // ********** Code for dom_HTMLDataListElement **************
604 // ********** Code for dom_HTMLDetailsElement **************
605 // ********** Code for dom_HTMLDirectoryElement **************
606 // ********** Code for dom_HTMLDivElement **************
607 // ********** Code for dom_HTMLDocument **************
608 // ********** Code for dom_HTMLElement **************
609 // ********** Code for dom_HTMLEmbedElement **************
610 // ********** Code for dom_HTMLFieldSetElement **************
611 // ********** Code for dom_HTMLFontElement **************
612 // ********** Code for dom_HTMLFormElement **************
613 // ********** Code for dom_HTMLFrameElement **************
614 // ********** Code for dom_HTMLFrameSetElement **************
615 // ********** Code for dom_HTMLHRElement **************
616 // ********** Code for dom_HTMLHeadElement **************
617 // ********** Code for dom_HTMLHeadingElement **************
618 // ********** Code for dom_HTMLHtmlElement **************
619 // ********** Code for dom_HTMLIFrameElement **************
620 // ********** Code for dom_HTMLImageElement **************
621 // ********** Code for dom_HTMLInputElement **************
622 // ********** Code for dom_HTMLIsIndexElement **************
623 // ********** Code for dom_HTMLKeygenElement **************
624 // ********** Code for dom_HTMLLIElement **************
625 // ********** Code for dom_HTMLLabelElement **************
626 // ********** Code for dom_HTMLLegendElement **************
627 // ********** Code for dom_HTMLLinkElement **************
628 // ********** Code for dom_HTMLMapElement **************
629 // ********** Code for dom_HTMLMarqueeElement **************
630 // ********** Code for dom_HTMLMediaElement **************
631 // ********** Code for dom_HTMLMenuElement **************
632 // ********** Code for dom_HTMLMetaElement **************
633 // ********** Code for dom_HTMLMeterElement **************
634 // ********** Code for dom_HTMLModElement **************
635 // ********** Code for dom_HTMLOListElement **************
636 // ********** Code for dom_HTMLObjectElement **************
637 // ********** Code for dom_HTMLOptGroupElement **************
638 // ********** Code for dom_HTMLOptionElement **************
639 // ********** Code for dom_HTMLOptionsCollection **************
640 // ********** Code for dom_HTMLOutputElement **************
641 // ********** Code for dom_HTMLParagraphElement **************
642 // ********** Code for dom_HTMLParamElement **************
643 // ********** Code for dom_HTMLPreElement **************
644 // ********** Code for dom_HTMLProgressElement **************
645 // ********** Code for dom_HTMLPropertiesCollection **************
646 // ********** Code for dom_HTMLQuoteElement **************
647 // ********** Code for dom_HTMLScriptElement **************
648 // ********** Code for dom_HTMLSelectElement **************
649 // ********** Code for dom_HTMLSourceElement **************
650 // ********** Code for dom_HTMLSpanElement **************
651 // ********** Code for dom_HTMLStyleElement **************
652 // ********** Code for dom_HTMLTableCaptionElement **************
653 // ********** Code for dom_HTMLTableCellElement **************
654 // ********** Code for dom_HTMLTableColElement **************
655 // ********** Code for dom_HTMLTableElement **************
656 // ********** Code for dom_HTMLTableRowElement **************
657 // ********** Code for dom_HTMLTableSectionElement **************
658 // ********** Code for dom_HTMLTextAreaElement **************
659 // ********** Code for dom_HTMLTitleElement **************
660 // ********** Code for dom_HTMLTrackElement **************
661 // ********** Code for dom_HTMLUListElement **************
662 // ********** Code for dom_HTMLUnknownElement **************
663 // ********** Code for dom_HTMLVideoElement **************
664 // ********** Code for dom_HashChangeEvent **************
665 // ********** Code for dom_HighPass2FilterNode **************
666 // ********** Code for dom_History **************
667 // ********** Code for dom_IDBAny **************
668 // ********** Code for dom_IDBCursor **************
669 // ********** Code for dom_IDBCursorWithValue **************
670 // ********** Code for dom_IDBDatabase **************
671 // ********** Code for dom_IDBDatabaseError **************
672 // ********** Code for dom_IDBDatabaseException **************
673 $dynamic("toString$0").IDBDatabaseException = function() {
674 return this.toString();
675 };
676 // ********** Code for dom_IDBFactory **************
677 // ********** Code for dom_IDBIndex **************
678 // ********** Code for dom_IDBKey **************
679 // ********** Code for dom_IDBKeyRange **************
680 // ********** Code for dom_IDBObjectStore **************
681 $dynamic("add$1").IDBObjectStore = function($0) {
682 return this.add($0);
683 };
684 // ********** Code for dom_IDBRequest **************
685 // ********** Code for dom_IDBTransaction **************
686 // ********** Code for dom_IDBVersionChangeEvent **************
687 // ********** Code for dom_IDBVersionChangeRequest **************
688 // ********** Code for dom_ImageData **************
689 // ********** Code for dom_InjectedScriptHost **************
690 // ********** Code for dom_InspectorFrontendHost **************
691 // ********** Code for dom_Int16Array **************
692 $dynamic("get$length").Int16Array = function() { return this.length; };
693 $dynamic("set$length").Int16Array = function(value) { return this.length = value ; };
694 // ********** Code for dom_Int32Array **************
695 $dynamic("get$length").Int32Array = function() { return this.length; };
696 $dynamic("set$length").Int32Array = function(value) { return this.length = value ; };
697 // ********** Code for dom_Int8Array **************
698 $dynamic("get$length").Int8Array = function() { return this.length; };
699 $dynamic("set$length").Int8Array = function(value) { return this.length = value; };
700 // ********** Code for dom_JavaScriptAudioNode **************
701 // ********** Code for dom_JavaScriptCallFrame **************
702 // ********** Code for dom_KeyboardEvent **************
703 // ********** Code for dom_Location **************
704 $dynamic("toString$0").Location = function() {
705 return this.toString();
706 };
707 // ********** Code for dom_LowPass2FilterNode **************
708 // ********** Code for dom_MediaController **************
709 // ********** Code for dom_MediaElementAudioSourceNode **************
710 // ********** Code for dom_MediaError **************
711 // ********** Code for dom_MediaList **************
712 // ********** Code for dom_MediaQueryList **************
713 // ********** Code for dom_MediaQueryListListener **************
714 // ********** Code for dom_MemoryInfo **************
715 // ********** Code for dom_MessageChannel **************
716 // ********** Code for dom_MessageEvent **************
717 // ********** Code for dom_MessagePort **************
718 // ********** Code for dom_Metadata **************
719 // ********** Code for dom_MouseEvent **************
720 // ********** Code for dom_MutationCallback **************
721 // ********** Code for dom_MutationEvent **************
722 // ********** Code for dom_MutationRecord **************
723 // ********** Code for dom_NamedNodeMap **************
724 // ********** Code for dom_Navigator **************
725 // ********** Code for dom_Node **************
726 // ********** Code for dom_NodeFilter **************
727 // ********** Code for dom_NodeIterator **************
728 // ********** Code for dom_NodeList **************
729 // ********** Code for dom_NodeSelector **************
730 // ********** Code for dom_Notation **************
731 // ********** Code for dom_Notification **************
732 // ********** Code for dom_NotificationCenter **************
733 // ********** Code for dom_OESStandardDerivatives **************
734 // ********** Code for dom_OESTextureFloat **************
735 // ********** Code for dom_OESVertexArrayObject **************
736 // ********** Code for dom_OfflineAudioCompletionEvent **************
737 // ********** Code for dom_OperationNotAllowedException **************
738 $dynamic("toString$0").OperationNotAllowedException = function() {
739 return this.toString();
740 };
741 // ********** Code for dom_OverflowEvent **************
742 // ********** Code for dom_PageTransitionEvent **************
743 // ********** Code for dom_Performance **************
744 // ********** Code for dom_PerformanceNavigation **************
745 // ********** Code for dom_PerformanceTiming **************
746 // ********** Code for dom_PointerLock **************
747 // ********** Code for dom_PopStateEvent **************
748 // ********** Code for dom_PositionError **************
749 // ********** Code for dom_ProcessingInstruction **************
750 // ********** Code for dom_ProgressEvent **************
751 // ********** Code for dom_RGBColor **************
752 // ********** Code for dom_Range **************
753 $dynamic("toString$0").Range = function() {
754 return this.toString();
755 };
756 // ********** Code for dom_RangeException **************
757 $dynamic("toString$0").RangeException = function() {
758 return this.toString();
759 };
760 // ********** Code for dom_RealtimeAnalyserNode **************
761 // ********** Code for dom_Rect **************
762 // ********** Code for dom_SQLError **************
763 // ********** Code for dom_SQLException **************
764 // ********** Code for dom_SQLResultSet **************
765 // ********** Code for dom_SQLResultSetRowList **************
766 // ********** Code for dom_SQLTransaction **************
767 // ********** Code for dom_SQLTransactionSync **************
768 // ********** Code for dom_SVGAElement **************
769 // ********** Code for dom_SVGAltGlyphDefElement **************
770 // ********** Code for dom_SVGAltGlyphElement **************
771 // ********** Code for dom_SVGAltGlyphItemElement **************
772 // ********** Code for dom_SVGAngle **************
773 // ********** Code for dom_SVGAnimateColorElement **************
774 // ********** Code for dom_SVGAnimateElement **************
775 // ********** Code for dom_SVGAnimateMotionElement **************
776 // ********** Code for dom_SVGAnimateTransformElement **************
777 // ********** Code for dom_SVGAnimatedAngle **************
778 // ********** Code for dom_SVGAnimatedBoolean **************
779 // ********** Code for dom_SVGAnimatedEnumeration **************
780 // ********** Code for dom_SVGAnimatedInteger **************
781 // ********** Code for dom_SVGAnimatedLength **************
782 // ********** Code for dom_SVGAnimatedLengthList **************
783 // ********** Code for dom_SVGAnimatedNumber **************
784 // ********** Code for dom_SVGAnimatedNumberList **************
785 // ********** Code for dom_SVGAnimatedPreserveAspectRatio **************
786 // ********** Code for dom_SVGAnimatedRect **************
787 // ********** Code for dom_SVGAnimatedString **************
788 // ********** Code for dom_SVGAnimatedTransformList **************
789 // ********** Code for dom_SVGAnimationElement **************
790 // ********** Code for dom_SVGCircleElement **************
791 // ********** Code for dom_SVGClipPathElement **************
792 // ********** Code for dom_SVGColor **************
793 // ********** Code for dom_SVGComponentTransferFunctionElement **************
794 // ********** Code for dom_SVGCursorElement **************
795 // ********** Code for dom_SVGDefsElement **************
796 // ********** Code for dom_SVGDescElement **************
797 // ********** Code for dom_SVGDocument **************
798 // ********** Code for dom_SVGElement **************
799 // ********** Code for dom_SVGElementInstance **************
800 // ********** Code for dom_SVGElementInstanceList **************
801 // ********** Code for dom_SVGEllipseElement **************
802 // ********** Code for dom_SVGException **************
803 $dynamic("toString$0").SVGException = function() {
804 return this.toString();
805 };
806 // ********** Code for dom_SVGExternalResourcesRequired **************
807 // ********** Code for dom_SVGFEBlendElement **************
808 // ********** Code for dom_SVGFEColorMatrixElement **************
809 // ********** Code for dom_SVGFEComponentTransferElement **************
810 // ********** Code for dom_SVGFECompositeElement **************
811 // ********** Code for dom_SVGFEConvolveMatrixElement **************
812 // ********** Code for dom_SVGFEDiffuseLightingElement **************
813 // ********** Code for dom_SVGFEDisplacementMapElement **************
814 // ********** Code for dom_SVGFEDistantLightElement **************
815 // ********** Code for dom_SVGFEDropShadowElement **************
816 // ********** Code for dom_SVGFEFloodElement **************
817 // ********** Code for dom_SVGFEFuncAElement **************
818 // ********** Code for dom_SVGFEFuncBElement **************
819 // ********** Code for dom_SVGFEFuncGElement **************
820 // ********** Code for dom_SVGFEFuncRElement **************
821 // ********** Code for dom_SVGFEGaussianBlurElement **************
822 // ********** Code for dom_SVGFEImageElement **************
823 // ********** Code for dom_SVGFEMergeElement **************
824 // ********** Code for dom_SVGFEMergeNodeElement **************
825 // ********** Code for dom_SVGFEMorphologyElement **************
826 // ********** Code for dom_SVGFEOffsetElement **************
827 // ********** Code for dom_SVGFEPointLightElement **************
828 // ********** Code for dom_SVGFESpecularLightingElement **************
829 // ********** Code for dom_SVGFESpotLightElement **************
830 // ********** Code for dom_SVGFETileElement **************
831 // ********** Code for dom_SVGFETurbulenceElement **************
832 // ********** Code for dom_SVGFilterElement **************
833 // ********** Code for dom_SVGFilterPrimitiveStandardAttributes **************
834 // ********** Code for dom_SVGFitToViewBox **************
835 // ********** Code for dom_SVGFontElement **************
836 // ********** Code for dom_SVGFontFaceElement **************
837 // ********** Code for dom_SVGFontFaceFormatElement **************
838 // ********** Code for dom_SVGFontFaceNameElement **************
839 // ********** Code for dom_SVGFontFaceSrcElement **************
840 // ********** Code for dom_SVGFontFaceUriElement **************
841 // ********** Code for dom_SVGForeignObjectElement **************
842 // ********** Code for dom_SVGGElement **************
843 // ********** Code for dom_SVGGlyphElement **************
844 // ********** Code for dom_SVGGlyphRefElement **************
845 // ********** Code for dom_SVGGradientElement **************
846 // ********** Code for dom_SVGHKernElement **************
847 // ********** Code for dom_SVGImageElement **************
848 // ********** Code for dom_SVGLangSpace **************
849 // ********** Code for dom_SVGLength **************
850 // ********** Code for dom_SVGLengthList **************
851 // ********** Code for dom_SVGLineElement **************
852 // ********** Code for dom_SVGLinearGradientElement **************
853 // ********** Code for dom_SVGLocatable **************
854 // ********** Code for dom_SVGMPathElement **************
855 // ********** Code for dom_SVGMarkerElement **************
856 // ********** Code for dom_SVGMaskElement **************
857 // ********** Code for dom_SVGMatrix **************
858 // ********** Code for dom_SVGMetadataElement **************
859 // ********** Code for dom_SVGMissingGlyphElement **************
860 // ********** Code for dom_SVGNumber **************
861 // ********** Code for dom_SVGNumberList **************
862 // ********** Code for dom_SVGPaint **************
863 // ********** Code for dom_SVGPathElement **************
864 // ********** Code for dom_SVGPathSeg **************
865 // ********** Code for dom_SVGPathSegArcAbs **************
866 // ********** Code for dom_SVGPathSegArcRel **************
867 // ********** Code for dom_SVGPathSegClosePath **************
868 // ********** Code for dom_SVGPathSegCurvetoCubicAbs **************
869 // ********** Code for dom_SVGPathSegCurvetoCubicRel **************
870 // ********** Code for dom_SVGPathSegCurvetoCubicSmoothAbs **************
871 // ********** Code for dom_SVGPathSegCurvetoCubicSmoothRel **************
872 // ********** Code for dom_SVGPathSegCurvetoQuadraticAbs **************
873 // ********** Code for dom_SVGPathSegCurvetoQuadraticRel **************
874 // ********** Code for dom_SVGPathSegCurvetoQuadraticSmoothAbs **************
875 // ********** Code for dom_SVGPathSegCurvetoQuadraticSmoothRel **************
876 // ********** Code for dom_SVGPathSegLinetoAbs **************
877 // ********** Code for dom_SVGPathSegLinetoHorizontalAbs **************
878 // ********** Code for dom_SVGPathSegLinetoHorizontalRel **************
879 // ********** Code for dom_SVGPathSegLinetoRel **************
880 // ********** Code for dom_SVGPathSegLinetoVerticalAbs **************
881 // ********** Code for dom_SVGPathSegLinetoVerticalRel **************
882 // ********** Code for dom_SVGPathSegList **************
883 // ********** Code for dom_SVGPathSegMovetoAbs **************
884 // ********** Code for dom_SVGPathSegMovetoRel **************
885 // ********** Code for dom_SVGPatternElement **************
886 // ********** Code for dom_SVGPoint **************
887 // ********** Code for dom_SVGPointList **************
888 // ********** Code for dom_SVGPolygonElement **************
889 // ********** Code for dom_SVGPolylineElement **************
890 // ********** Code for dom_SVGPreserveAspectRatio **************
891 // ********** Code for dom_SVGRadialGradientElement **************
892 // ********** Code for dom_SVGRect **************
893 // ********** Code for dom_SVGRectElement **************
894 // ********** Code for dom_SVGRenderingIntent **************
895 // ********** Code for dom_SVGSVGElement **************
896 // ********** Code for dom_SVGScriptElement **************
897 // ********** Code for dom_SVGSetElement **************
898 // ********** Code for dom_SVGStopElement **************
899 // ********** Code for dom_SVGStringList **************
900 // ********** Code for dom_SVGStylable **************
901 // ********** Code for dom_SVGStyleElement **************
902 // ********** Code for dom_SVGSwitchElement **************
903 // ********** Code for dom_SVGSymbolElement **************
904 // ********** Code for dom_SVGTRefElement **************
905 // ********** Code for dom_SVGTSpanElement **************
906 // ********** Code for dom_SVGTests **************
907 // ********** Code for dom_SVGTextContentElement **************
908 // ********** Code for dom_SVGTextElement **************
909 // ********** Code for dom_SVGTextPathElement **************
910 // ********** Code for dom_SVGTextPositioningElement **************
911 // ********** Code for dom_SVGTitleElement **************
912 // ********** Code for dom_SVGTransform **************
913 // ********** Code for dom_SVGTransformList **************
914 // ********** Code for dom_SVGTransformable **************
915 // ********** Code for dom_SVGURIReference **************
916 // ********** Code for dom_SVGUnitTypes **************
917 // ********** Code for dom_SVGUseElement **************
918 // ********** Code for dom_SVGVKernElement **************
919 // ********** Code for dom_SVGViewElement **************
920 // ********** Code for dom_SVGViewSpec **************
921 // ********** Code for dom_SVGZoomAndPan **************
922 // ********** Code for dom_SVGZoomEvent **************
923 // ********** Code for dom_Screen **************
924 // ********** Code for dom_ScriptProfile **************
925 // ********** Code for dom_ScriptProfileNode **************
926 // ********** Code for dom_SharedWorker **************
927 // ********** Code for dom_SharedWorkercontext **************
928 // ********** Code for dom_SpeechInputEvent **************
929 // ********** Code for dom_SpeechInputResult **************
930 // ********** Code for dom_SpeechInputResultList **************
931 // ********** Code for dom_Storage **************
932 // ********** Code for dom_StorageEvent **************
933 // ********** Code for dom_StorageInfo **************
934 // ********** Code for dom_StyleMedia **************
935 // ********** Code for dom_StyleSheet **************
936 // ********** Code for dom_StyleSheetList **************
937 // ********** Code for dom_Text **************
938 // ********** Code for dom_TextEvent **************
939 // ********** Code for dom_TextMetrics **************
940 // ********** Code for dom_TextTrack **************
941 // ********** Code for dom_TextTrackCue **************
942 // ********** Code for dom_TextTrackCueList **************
943 // ********** Code for dom_TextTrackList **************
944 // ********** Code for dom_TimeRanges **************
945 // ********** Code for dom_Touch **************
946 // ********** Code for dom_TouchEvent **************
947 // ********** Code for dom_TouchList **************
948 // ********** Code for dom_TrackEvent **************
949 // ********** Code for dom_TreeWalker **************
950 // ********** Code for dom_UIEvent **************
951 // ********** Code for dom_Uint16Array **************
952 $dynamic("get$length").Uint16Array = function() { return this.length; };
953 $dynamic("set$length").Uint16Array = function(value) { return this.length = valu e; };
954 // ********** Code for dom_Uint32Array **************
955 $dynamic("get$length").Uint32Array = function() { return this.length; };
956 $dynamic("set$length").Uint32Array = function(value) { return this.length = valu e; };
957 // ********** Code for dom_Uint8Array **************
958 $dynamic("get$length").Uint8Array = function() { return this.length; };
959 $dynamic("set$length").Uint8Array = function(value) { return this.length = value ; };
960 // ********** Code for dom_ValidityState **************
961 // ********** Code for dom_WaveShaperNode **************
962 // ********** Code for dom_WebGLActiveInfo **************
963 // ********** Code for dom_WebGLBuffer **************
964 // ********** Code for dom_WebGLCompressedTextures **************
965 // ********** Code for dom_WebGLContextAttributes **************
966 // ********** Code for dom_WebGLContextEvent **************
967 // ********** Code for dom_WebGLDebugRendererInfo **************
968 // ********** Code for dom_WebGLDebugShaders **************
969 // ********** Code for dom_WebGLFramebuffer **************
970 // ********** Code for dom_WebGLLoseContext **************
971 // ********** Code for dom_WebGLProgram **************
972 // ********** Code for dom_WebGLRenderbuffer **************
973 // ********** Code for dom_WebGLRenderingContext **************
974 // ********** Code for dom_WebGLShader **************
975 // ********** Code for dom_WebGLTexture **************
976 // ********** Code for dom_WebGLUniformLocation **************
977 // ********** Code for dom_WebGLVertexArrayObjectOES **************
978 // ********** Code for dom_WebKitAnimation **************
979 // ********** Code for dom_WebKitAnimationEvent **************
980 // ********** Code for dom_WebKitAnimationList **************
981 // ********** Code for dom_WebKitBlobBuilder **************
982 // ********** Code for dom_WebKitCSSFilterValue **************
983 // ********** Code for dom_WebKitCSSKeyframeRule **************
984 // ********** Code for dom_WebKitCSSKeyframesRule **************
985 // ********** Code for dom_WebKitCSSMatrix **************
986 $dynamic("toString$0").WebKitCSSMatrix = function() {
987 return this.toString();
988 };
989 // ********** Code for dom_WebKitCSSTransformValue **************
990 // ********** Code for dom_WebKitMutationObserver **************
991 // ********** Code for dom_WebKitNamedFlow **************
992 // ********** Code for dom_WebKitPoint **************
993 // ********** Code for dom_WebKitTransitionEvent **************
994 // ********** Code for dom_WebSocket **************
995 // ********** Code for dom_WheelEvent **************
996 // ********** Code for Worker **************
997 // ********** Code for dom_WorkerContext **************
998 // ********** Code for dom_WorkerLocation **************
999 $dynamic("toString$0").WorkerLocation = function() {
1000 return this.toString();
1001 };
1002 // ********** Code for dom_WorkerNavigator **************
1003 // ********** Code for dom_XMLHttpRequest **************
1004 // ********** Code for dom_XMLHttpRequestException **************
1005 $dynamic("toString$0").XMLHttpRequestException = function() {
1006 return this.toString();
1007 };
1008 // ********** Code for dom_XMLHttpRequestProgressEvent **************
1009 // ********** Code for dom_XMLHttpRequestUpload **************
1010 // ********** Code for dom_XMLSerializer **************
1011 // ********** Code for dom_XPathEvaluator **************
1012 // ********** Code for dom_XPathException **************
1013 $dynamic("toString$0").XPathException = function() {
1014 return this.toString();
1015 };
1016 // ********** Code for dom_XPathExpression **************
1017 // ********** Code for dom_XPathNSResolver **************
1018 // ********** Code for dom_XPathResult **************
1019 // ********** Code for dom_XSLTProcessor **************
1020 // ********** Code for _Collections **************
1021 function _Collections() {}
1022 // ********** Code for _VariableSizeListIterator_T **************
1023 $inherits(_VariableSizeListIterator_T, _VariableSizeListIterator);
1024 function _VariableSizeListIterator_T() {}
1025 // ********** Code for _FixedSizeListIterator **************
1026 $inherits(_FixedSizeListIterator, _VariableSizeListIterator_T);
1027 function _FixedSizeListIterator() {}
1028 _FixedSizeListIterator.prototype.hasNext = function() {
1029 return this._dom_length > this._dom_pos;
1030 }
1031 _FixedSizeListIterator.prototype.hasNext$0 = _FixedSizeListIterator.prototype.ha sNext;
1032 // ********** Code for _VariableSizeListIterator **************
1033 function _VariableSizeListIterator() {}
1034 _VariableSizeListIterator.prototype.hasNext = function() {
1035 return this._dom_array.get$length() > this._dom_pos;
1036 }
1037 _VariableSizeListIterator.prototype.next = function() {
1038 if (!this.hasNext()) {
1039 $throw(const$0002);
1040 }
1041 return this._dom_array.$index(this._dom_pos++);
1042 }
1043 _VariableSizeListIterator.prototype.hasNext$0 = _VariableSizeListIterator.protot ype.hasNext;
1044 _VariableSizeListIterator.prototype.next$0 = _VariableSizeListIterator.prototype .next;
1045 // ********** Code for _Lists **************
1046 function _Lists() {}
1047 // ********** Code for top level **************
1048 function get$window() {
1049 return window;
1050 }
1051 // ********** Library spirodraw **************
1052 // ********** Code for Spirodraw **************
1053 function Spirodraw() {
1054 var $this = this; // closure support
1055 this.rad = (0);
1056 this.animationEnabled = true;
1057 this.penColor = "red";
1058 this.doc = get$window().document;
1059 this.inOrOut = this.doc.getElementById("in_out");
1060 this.fixedRadiusSlider = this.doc.getElementById("fixed_radius");
1061 this.wheelRadiusSlider = this.doc.getElementById("wheel_radius");
1062 this.penRadiusSlider = this.doc.getElementById("pen_radius");
1063 this.penWidthSlider = this.doc.getElementById("pen_width");
1064 this.speedSlider = this.doc.getElementById("speed");
1065 this.numTurns = this.doc.getElementById("num_turns");
1066 this.mainDiv = this.doc.getElementById("main");
1067 this.frontCanvas = this.doc.getElementById("canvas");
1068 this.front = this.frontCanvas.getContext("2d");
1069 this.backCanvas = this.doc.createElement("canvas");
1070 this.back = this.backCanvas.getContext("2d");
1071 this.paletteElement = this.doc.getElementById("palette");
1072 get$window().addEventListener("resize", $wrap_call$1((function (event) {
1073 return $this.onResize();
1074 })
1075 ), true);
1076 this.initControlPanel();
1077 }
1078 Spirodraw.prototype.go = function() {
1079 this.onResize();
1080 }
1081 Spirodraw.prototype.onResize = function() {
1082 this.height = get$window().innerHeight;
1083 this.width = get$window().innerWidth - (270);
1084 this.yc = $truncdiv(this.height, (2));
1085 this.xc = $truncdiv(this.width, (2));
1086 this.frontCanvas.height = this.height;
1087 this.frontCanvas.width = this.width;
1088 this.backCanvas.height = this.height;
1089 this.backCanvas.width = this.width;
1090 this.clear();
1091 }
1092 Spirodraw.prototype.initControlPanel = function() {
1093 var $this = this; // closure support
1094 this.inOrOut.addEventListener("change", $wrap_call$1((function (event) {
1095 return $this.refresh();
1096 })
1097 ), true);
1098 this.fixedRadiusSlider.addEventListener("change", $wrap_call$1((function (even t) {
1099 return $this.refresh();
1100 })
1101 ), true);
1102 this.wheelRadiusSlider.addEventListener("change", $wrap_call$1((function (even t) {
1103 return $this.refresh();
1104 })
1105 ), true);
1106 this.speedSlider.addEventListener("change", $wrap_call$1((function (event) {
1107 return $this.onSpeedChange();
1108 })
1109 ), true);
1110 this.penRadiusSlider.addEventListener("change", $wrap_call$1((function (event) {
1111 return $this.refresh();
1112 })
1113 ), true);
1114 this.penWidthSlider.addEventListener("change", $wrap_call$1((function (event) {
1115 return $this.onPenWidthChange();
1116 })
1117 ), true);
1118 this.colorPicker = new ColorPicker(this.paletteElement);
1119 this.colorPicker.addListener((function (color) {
1120 return $this.onColorChange(color);
1121 })
1122 );
1123 this.doc.getElementById("start").addEventListener("click", $wrap_call$1((funct ion (event) {
1124 return $this.start();
1125 })
1126 ), true);
1127 this.doc.getElementById("stop").addEventListener("click", $wrap_call$1((functi on (event) {
1128 return $this.stop();
1129 })
1130 ), true);
1131 this.doc.getElementById("clear").addEventListener("click", $wrap_call$1((funct ion (event) {
1132 return $this.clear();
1133 })
1134 ), true);
1135 this.doc.getElementById("lucky").addEventListener("click", $wrap_call$1((funct ion (event) {
1136 return $this.lucky();
1137 })
1138 ), true);
1139 }
1140 Spirodraw.prototype.onColorChange = function(color) {
1141 this.penColor = color;
1142 this.drawFrame(this.rad);
1143 }
1144 Spirodraw.prototype.onSpeedChange = function() {
1145 this.speed = this.speedSlider.valueAsNumber;
1146 this.stepSize = this.calcStepSize();
1147 }
1148 Spirodraw.prototype.onPenWidthChange = function() {
1149 this.penWidth = this.penWidthSlider.valueAsNumber;
1150 this.drawFrame(this.rad);
1151 }
1152 Spirodraw.prototype.refresh = function() {
1153 var $0;
1154 this.stop();
1155 this.lastX = (this.lastY = ($0 = (0)), $0);
1156 var min = Math.min(this.height, this.width);
1157 var pixelsPerUnit = min / (40);
1158 this.RUnits = this.fixedRadiusSlider.valueAsNumber;
1159 this.R = this.RUnits * pixelsPerUnit;
1160 this.rUnits = this.wheelRadiusSlider.valueAsNumber;
1161 this.r = this.rUnits * this.R / this.RUnits * Math.parseInt(this.inOrOut.value );
1162 this.dUnits = this.penRadiusSlider.valueAsNumber;
1163 this.d = this.dUnits * this.R / this.RUnits;
1164 this.numPoints = this.calcNumPoints();
1165 this.maxTurns = this.calcTurns();
1166 this.onSpeedChange();
1167 this.numTurns.innerText = "0/" + this.maxTurns;
1168 this.penWidth = this.penWidthSlider.valueAsNumber;
1169 this.drawFrame((0));
1170 }
1171 Spirodraw.prototype.calcNumPoints = function() {
1172 if ((this.dUnits == (0)) || (this.rUnits == (0))) return (2);
1173 var gcf_ = gcf(this.RUnits, this.rUnits);
1174 var n = $truncdiv(this.RUnits, gcf_);
1175 var d_ = $truncdiv(this.rUnits, gcf_);
1176 if ($mod(n, (2)) == (1)) return n;
1177 else if ($mod(d_, (2)) == (1)) return n;
1178 else return $truncdiv(n, (2));
1179 }
1180 Spirodraw.prototype.calcStepSize = function() {
1181 return this.speed / (100) * this.maxTurns / this.numPoints;
1182 }
1183 Spirodraw.prototype.drawFrame = function(theta) {
1184 if (this.animationEnabled) {
1185 this.front.clearRect((0), (0), this.width, this.height);
1186 this.front.drawImage(this.backCanvas, (0), (0));
1187 this.drawFixed();
1188 }
1189 this.drawWheel(theta);
1190 }
1191 Spirodraw.prototype.animate = function(time) {
1192 if (this.run && this.rad <= this.maxTurns * $globals.Spirodraw_PI2) {
1193 this.rad = this.rad + this.stepSize;
1194 this.drawFrame(this.rad);
1195 var nTurns = (this.rad / $globals.Spirodraw_PI2).toInt();
1196 this.numTurns.innerText = ("" + nTurns + "/" + this.maxTurns);
1197 get$window().webkitRequestAnimationFrame($wrap_call$1(this.get$animate()), t his.frontCanvas);
1198 }
1199 else {
1200 this.stop();
1201 }
1202 }
1203 Spirodraw.prototype.get$animate = function() {
1204 return this.animate.bind(this);
1205 }
1206 Spirodraw.prototype.start = function() {
1207 this.refresh();
1208 this.rad = (0);
1209 this.run = true;
1210 get$window().webkitRequestAnimationFrame($wrap_call$1(this.get$animate()), thi s.frontCanvas);
1211 }
1212 Spirodraw.prototype.calcTurns = function() {
1213 if ((this.dUnits == (0)) || (this.rUnits == (0))) return (1);
1214 var ru = this.rUnits.abs();
1215 var wrUnits = this.RUnits + this.rUnits;
1216 var g = gcf(wrUnits, ru);
1217 return ($truncdiv(ru, g)).toInt();
1218 }
1219 Spirodraw.prototype.stop = function() {
1220 this.run = false;
1221 this.front.clearRect((0), (0), this.width, this.height);
1222 this.front.drawImage(this.backCanvas, (0), (0));
1223 this.rad = (0);
1224 }
1225 Spirodraw.prototype.clear = function() {
1226 this.stop();
1227 this.back.clearRect((0), (0), this.width, this.height);
1228 this.refresh();
1229 }
1230 Spirodraw.prototype.lucky = function() {
1231 this.wheelRadiusSlider.valueAsNumber = Math.random() * (9);
1232 this.penRadiusSlider.valueAsNumber = Math.random() * (9);
1233 this.penWidthSlider.valueAsNumber = (1) + Math.random() * (9);
1234 this.colorPicker.set$selectedColor(Math.random() * (215));
1235 this.start();
1236 }
1237 Spirodraw.prototype.drawFixed = function() {
1238 if (this.animationEnabled) {
1239 this.front.beginPath();
1240 this.front.setLineWidth((2));
1241 this.front.strokeStyle = "gray";
1242 this.front.arc(this.xc, this.yc, this.R, (0), $globals.Spirodraw_PI2, true);
1243 this.front.closePath();
1244 this.front.stroke();
1245 }
1246 }
1247 Spirodraw.prototype.drawWheel = function(theta) {
1248 var wx = this.xc + ((this.R + this.r) * Math.cos(theta));
1249 var wy = this.yc - ((this.R + this.r) * Math.sin(theta));
1250 if (this.animationEnabled) {
1251 if (this.rUnits > (0)) {
1252 this.front.beginPath();
1253 this.front.arc(wx, wy, this.r.abs(), (0), $globals.Spirodraw_PI2, true);
1254 this.front.closePath();
1255 this.front.stroke();
1256 this.front.setLineWidth((1));
1257 this.front.beginPath();
1258 this.front.arc(wx, wy, (3), (0), $globals.Spirodraw_PI2, true);
1259 this.front.fillStyle = "black";
1260 this.front.fill();
1261 this.front.closePath();
1262 this.front.stroke();
1263 }
1264 }
1265 this.drawTip(wx, wy, theta);
1266 }
1267 Spirodraw.prototype.drawTip = function(wx, wy, theta) {
1268 var rot = (this.r == (0)) ? theta : theta * (this.R + this.r) / this.r;
1269 var tx = wx + this.d * Math.cos(rot);
1270 var ty = wy - this.d * Math.sin(rot);
1271 if (this.animationEnabled) {
1272 this.front.beginPath();
1273 this.front.fillStyle = this.penColor;
1274 this.front.arc(tx, ty, this.penWidth / (2) + (2), (0), $globals.Spirodraw_PI 2, true);
1275 this.front.fill();
1276 this.front.moveTo(wx, wy);
1277 this.front.strokeStyle = "black";
1278 this.front.lineTo(tx, ty);
1279 this.front.closePath();
1280 this.front.stroke();
1281 }
1282 this.drawSegmentTo(tx, ty);
1283 }
1284 Spirodraw.prototype.drawSegmentTo = function(tx, ty) {
1285 if (this.lastX > (0)) {
1286 this.back.beginPath();
1287 this.back.strokeStyle = this.penColor;
1288 this.back.setLineWidth(this.penWidth);
1289 this.back.moveTo(this.lastX, this.lastY);
1290 this.back.lineTo(tx, ty);
1291 this.back.closePath();
1292 this.back.stroke();
1293 }
1294 this.lastX = tx;
1295 this.lastY = ty;
1296 }
1297 // ********** Code for ColorPicker **************
1298 function ColorPicker(canvasElement) {
1299 this.canvasElement = canvasElement;
1300 this.height = (160);
1301 this._selectedColor = "red";
1302 this.width = (180);
1303 this._listeners = [];
1304 this.ctx = this.canvasElement.getContext("2d");
1305 this.drawPalette();
1306 this.addHandlers();
1307 this.showSelected();
1308 }
1309 ColorPicker.prototype.set$selectedColor = function(i) {
1310 this._selectedColor = this.getHexString(i.floor().toInt());
1311 this.showSelected();
1312 this.fireSelected();
1313 }
1314 ColorPicker.prototype.onMouseMove = function(event) {
1315 var x = event.offsetX;
1316 var y = event.offsetY - (40);
1317 if ((y < (0)) || (x >= this.width)) {
1318 return;
1319 }
1320 this.ctx.fillStyle = this.getHexString(this.getColorIndex(x, y));
1321 this.ctx.fillRect((0), (0), this.width / (2), (30));
1322 }
1323 ColorPicker.prototype.onMouseDown = function(event) {
1324 var elt = event.target;
1325 event.cancelBubble = true;
1326 var x = event.offsetX;
1327 var y = event.offsetY - (40);
1328 if ((y < (0)) || (x >= this.width)) return;
1329 this.set$selectedColor(this.getColorIndex(x, y));
1330 }
1331 ColorPicker.prototype.addListener = function(listener) {
1332 this._listeners.add(listener);
1333 }
1334 ColorPicker.prototype.addHandlers = function() {
1335 var $this = this; // closure support
1336 this.canvasElement.addEventListener("mousemove", $wrap_call$1((function (e) {
1337 return $this.onMouseMove(e);
1338 })
1339 ), true);
1340 this.canvasElement.addEventListener("mousedown", $wrap_call$1((function (e) {
1341 return $this.onMouseDown(e);
1342 })
1343 ), true);
1344 }
1345 ColorPicker.prototype.drawPalette = function() {
1346 var i = (0);
1347 for (var r = (0);
1348 r < (256); r += (51)) {
1349 for (var g = (0);
1350 g < (256); g += (51)) {
1351 for (var b = (0);
1352 b < (256); b += (51)) {
1353 var color = this.getHexString(i);
1354 this.ctx.fillStyle = color;
1355 var x = (10) * ($mod(i, (18)));
1356 var y = (10) * ($truncdiv(i, (18))) + (40);
1357 this.ctx.fillRect(x + (1), y + (1), (8), (8));
1358 i++;
1359 }
1360 }
1361 }
1362 }
1363 ColorPicker.prototype.fireSelected = function() {
1364 var $$list = this._listeners;
1365 for (var $$i = 0;$$i < $$list.get$length(); $$i++) {
1366 var listener = $$list.$index($$i);
1367 listener.call$1(this._selectedColor);
1368 }
1369 }
1370 ColorPicker.prototype.getColorIndex = function(x, y) {
1371 var i = $truncdiv(y, (10)) * (18) + $truncdiv(x, (10));
1372 return i;
1373 }
1374 ColorPicker.prototype.showSelected = function() {
1375 this.ctx.fillStyle = this._selectedColor;
1376 this.ctx.fillRect(this.width / (2), (0), this.width / (2), (30));
1377 this.ctx.fillStyle = "white";
1378 this.ctx.fillRect((0), (0), this.width / (2), (30));
1379 }
1380 ColorPicker.prototype.getHexString = function(i) {
1381 var r = $truncdiv(i, (36));
1382 var g = $truncdiv(($mod(i, (36))), (6));
1383 var b = $mod(i, (6));
1384 return ("#" + const$0003.$index(r) + const$0003.$index(g) + const$0003.$index( b));
1385 }
1386 // ********** Code for top level **************
1387 function main() {
1388 new Spirodraw().go();
1389 }
1390 function gcf(n, d) {
1391 if (n == d) return n;
1392 var max = Math.max(n, d);
1393 for (var i = $truncdiv(max, (2));
1394 i > (1); i--) if (($mod(n, i) == (0)) && ($mod(d, i) == (0))) return i;
1395 return (1);
1396 }
1397 // 25 dynamic types.
1398 // 26 types
1399 // 1 !leaf
1400 (function(){
1401 var table = [
1402 // [dynamic-dispatch-tag, tags of classes implementing dynamic-dispatch-tag]
1403 ['DOMTokenList', 'DOMTokenList|DOMSettableTokenList'],
1404 ];
1405 $dynamicSetMetadata(table);
1406 })();
1407 // ********** Globals **************
1408 function $static_init(){
1409 $globals.Spirodraw_PI2 = (6.283185307179586);
1410 }
1411 var const$0001 = Object.create(IllegalAccessException.prototype, {});
1412 var const$0002 = Object.create(NoMoreElementsException.prototype, {});
1413 var const$0003 = ImmutableList.ImmutableList$from$factory(["00", "33", "66", "99 ", "CC", "FF"]);
1414 var $globals = {};
1415 $static_init();
1416 main();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698