aboutsummaryrefslogtreecommitdiff
path: root/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib')
-rwxr-xr-xjs/lib/NJUtils.js151
-rwxr-xr-xjs/lib/drawing/world.js1289
-rwxr-xr-xjs/lib/geom/anchor-point.js35
-rwxr-xr-xjs/lib/geom/brush-stroke.js29
-rwxr-xr-xjs/lib/geom/circle.js321
-rwxr-xr-xjs/lib/geom/geom-obj.js88
-rwxr-xr-xjs/lib/geom/line.js146
-rwxr-xr-xjs/lib/geom/rectangle.js1210
-rw-r--r--js/lib/geom/shape-primitive.js486
-rwxr-xr-xjs/lib/geom/sub-path.js27
-rwxr-xr-xjs/lib/math/matrix.js91
-rwxr-xr-xjs/lib/rdge/materials/bump-metal-material.js199
-rw-r--r--js/lib/rdge/materials/cloud-material.js731
-rw-r--r--js/lib/rdge/materials/deform-material.js125
-rw-r--r--js/lib/rdge/materials/flag-material.js195
-rwxr-xr-xjs/lib/rdge/materials/flat-material.js87
-rw-r--r--js/lib/rdge/materials/fly-material.js173
-rw-r--r--js/lib/rdge/materials/julia-material.js162
-rw-r--r--js/lib/rdge/materials/keleidoscope-material.js173
-rwxr-xr-xjs/lib/rdge/materials/linear-gradient-material.js311
-rw-r--r--js/lib/rdge/materials/mandel-material.js166
-rwxr-xr-xjs/lib/rdge/materials/material-parser.js27
-rwxr-xr-xjs/lib/rdge/materials/material.js592
-rw-r--r--js/lib/rdge/materials/plasma-material.js199
-rw-r--r--js/lib/rdge/materials/pulse-material.js343
-rw-r--r--js/lib/rdge/materials/radial-blur-material.js117
-rwxr-xr-xjs/lib/rdge/materials/radial-gradient-material.js269
-rw-r--r--js/lib/rdge/materials/relief-tunnel-material.js117
-rw-r--r--js/lib/rdge/materials/square-tunnel-material.js117
-rw-r--r--js/lib/rdge/materials/star-material.js133
-rw-r--r--js/lib/rdge/materials/taper-material.js110
-rw-r--r--js/lib/rdge/materials/tunnel-material.js123
-rw-r--r--js/lib/rdge/materials/twist-material.js117
-rw-r--r--js/lib/rdge/materials/twist-vert-material.js323
-rwxr-xr-xjs/lib/rdge/materials/uber-material.js306
-rw-r--r--js/lib/rdge/materials/water-material.js308
-rw-r--r--js/lib/rdge/materials/z-invert-material.js135
-rw-r--r--js/lib/rdge/texture.js631
38 files changed, 5487 insertions, 4675 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js
index 1406ad98..cfb7ef07 100755
--- a/js/lib/NJUtils.js
+++ b/js/lib/NJUtils.js
@@ -1,24 +1,25 @@
1/* <copyright> 1/* <copyright>
2Copyright (c) 2012, Motorola Mobility, Inc 2Copyright (c) 2012, Motorola Mobility LLC.
3All Rights Reserved. 3All Rights Reserved.
4BSD License.
5 4
6Redistribution and use in source and binary forms, with or without 5Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are met: 6modification, are permitted provided that the following conditions are met:
8 7
9 - Redistributions of source code must retain the above copyright notice, 8* Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer. 9 this list of conditions and the following disclaimer.
11 - Redistributions in binary form must reproduce the above copyright 10
12 notice, this list of conditions and the following disclaimer in the 11* Redistributions in binary form must reproduce the above copyright notice,
13 documentation and/or other materials provided with the distribution. 12 this list of conditions and the following disclaimer in the documentation
14 - Neither the name of Motorola Mobility nor the names of its contributors 13 and/or other materials provided with the distribution.
15 may be used to endorse or promote products derived from this software 14
16 without specific prior written permission. 15* Neither the name of Motorola Mobility LLC nor the names of its
16 contributors may be used to endorse or promote products derived from this
17 software without specific prior written permission.
17 18
18THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
@@ -39,7 +40,7 @@ var Montage = require("montage/core/core").Montage,
39exports.NJUtils = Montage.create(Component, { 40exports.NJUtils = Montage.create(Component, {
40 41
41 /* =============== DOM Access ================ */ 42 /* =============== DOM Access ================ */
42 43
43 ///// Quick "getElementById" 44 ///// Quick "getElementById"
44 $ : { 45 $ : {
45 value: function(id, doc) { 46 value: function(id, doc) {
@@ -47,7 +48,7 @@ exports.NJUtils = Montage.create(Component, {
47 return doc.getElementById(id); 48 return doc.getElementById(id);
48 } 49 }
49 }, 50 },
50 51
51 ///// Quick "getElementsByClassName" which also returns as an Array 52 ///// Quick "getElementsByClassName" which also returns as an Array
52 ///// Can return as NodeList by passing true as second argument 53 ///// Can return as NodeList by passing true as second argument
53 $$ : { 54 $$ : {
@@ -57,7 +58,7 @@ exports.NJUtils = Montage.create(Component, {
57 return (asNodeList) ? list : this.toArray(list); 58 return (asNodeList) ? list : this.toArray(list);
58 } 59 }
59 }, 60 },
60 61
61 ///// Get child nodes of element 62 ///// Get child nodes of element
62 ///// Omit filter to only return element nodes 63 ///// Omit filter to only return element nodes
63 ///// Pass in filter function to minimize collection, or 64 ///// Pass in filter function to minimize collection, or
@@ -65,14 +66,14 @@ exports.NJUtils = Montage.create(Component, {
65 children : { 66 children : {
66 value : function(el, filter) { 67 value : function(el, filter) {
67 var f = filter || function(item) { 68 var f = filter || function(item) {
68 return item.nodeType === 1; 69 return item.nodeType === 1;
69 }; 70 };
70 return this.toArray(el.childNodes).filter(f); 71 return this.toArray(el.childNodes).filter(f);
71 } 72 }
72 }, 73 },
73 74
74 /* ============= DOM Manipulation ============= */ 75 /* ============= DOM Manipulation ============= */
75 76
76 ///// Creates and returns text node from string 77 ///// Creates and returns text node from string
77 textNode : { 78 textNode : {
78 value: function(text) { 79 value: function(text) {
@@ -95,7 +96,7 @@ exports.NJUtils = Montage.create(Component, {
95 return el; 96 return el;
96 } 97 }
97 }, 98 },
98 99
99 decor: { 100 decor: {
100 value: function(el, attr) { 101 value: function(el, attr) {
101 if (typeof attr === 'object') { 102 if (typeof attr === 'object') {
@@ -183,56 +184,56 @@ exports.NJUtils = Montage.create(Component, {
183 return node; 184 return node;
184 } 185 }
185 }, 186 },
186 187
187 queryParentSelector : { 188 queryParentSelector : {
188 value: function(el, strSelector) { 189 value: function(el, strSelector) {
189 // queryParentSelector: 190 // queryParentSelector:
190 // Given a DOM element el (required), walk up the DOM tree 191 // Given a DOM element el (required), walk up the DOM tree
191 // and find the first parent that matches selector strSelector (required). 192 // and find the first parent that matches selector strSelector (required).
192 // Returns: The element that matches, or false if there is no match 193 // Returns: The element that matches, or false if there is no match
193 // or if insufficient parameters are supplied. 194 // or if insufficient parameters are supplied.
194 195
195 if ((typeof(el) === "undefined") || (typeof(strSelector) === "undefined")) { 196 if ((typeof(el) === "undefined") || (typeof(strSelector) === "undefined")) {
196 // Parameters are required, m'kay? 197 // Parameters are required, m'kay?
197 return false; 198 return false;
198 } else if ((typeof(el) !== "object") || (typeof(strSelector) !== "string" )) { 199 } else if ((typeof(el) !== "object") || (typeof(strSelector) !== "string" )) {
199 // You also have to use the right parameters. 200 // You also have to use the right parameters.
200 return false; 201 return false;
201 } 202 }
202 203
203 // First, get an empty clone of the parent. 204 // First, get an empty clone of the parent.
204 var myParent = el.parentNode; 205 var myParent = el.parentNode;
205 var clone = myParent.cloneNode(false); 206 var clone = myParent.cloneNode(false);
206 if (clone === null) { 207 if (clone === null) {
207 return false; 208 return false;
208 } 209 }
209 210
210 // If we're at the top of the DOM, our clone will be an htmlDocument. 211 // If we're at the top of the DOM, our clone will be an htmlDocument.
211 // htmlDocument has no tagName. 212 // htmlDocument has no tagName.
212 if (typeof(clone.tagName) !== "undefined") { 213 if (typeof(clone.tagName) !== "undefined") {
213 // create a bogus div to use as a base for querySelector 214 // create a bogus div to use as a base for querySelector
214 var temp = document.createElement("div"); 215 var temp = document.createElement("div");
215 216
216 // Append the clone to the bogus div 217 // Append the clone to the bogus div
217 temp.appendChild(clone); 218 temp.appendChild(clone);
218 219
219 // Now we can use querySelector! Sweet. 220 // Now we can use querySelector! Sweet.
220 var selectorTest = temp.querySelector(strSelector); 221 var selectorTest = temp.querySelector(strSelector);
221 222
222 // What has querySelector returned? 223 // What has querySelector returned?
223 if (selectorTest === null) { 224 if (selectorTest === null) {
224 // No match, so recurse. 225 // No match, so recurse.
225 return this.queryParentSelector(myParent, strSelector); 226 return this.queryParentSelector(myParent, strSelector);
226 } else { 227