aboutsummaryrefslogtreecommitdiff
path: root/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib')
-rwxr-xr-xjs/lib/NJUtils.js128
-rwxr-xr-xjs/lib/drawing/world.js1266
-rwxr-xr-xjs/lib/geom/anchor-point.js12
-rwxr-xr-xjs/lib/geom/brush-stroke.js6
-rwxr-xr-xjs/lib/geom/circle.js298
-rwxr-xr-xjs/lib/geom/geom-obj.js65
-rwxr-xr-xjs/lib/geom/line.js123
-rwxr-xr-xjs/lib/geom/rectangle.js1187
-rw-r--r--js/lib/geom/shape-primitive.js463
-rwxr-xr-xjs/lib/geom/sub-path.js4
-rwxr-xr-xjs/lib/math/matrix.js68
-rwxr-xr-xjs/lib/rdge/materials/bump-metal-material.js176
-rw-r--r--js/lib/rdge/materials/cloud-material.js708
-rw-r--r--js/lib/rdge/materials/deform-material.js102
-rw-r--r--js/lib/rdge/materials/flag-material.js172
-rwxr-xr-xjs/lib/rdge/materials/flat-material.js64
-rw-r--r--js/lib/rdge/materials/fly-material.js150
-rw-r--r--js/lib/rdge/materials/julia-material.js139
-rw-r--r--js/lib/rdge/materials/keleidoscope-material.js150
-rwxr-xr-xjs/lib/rdge/materials/linear-gradient-material.js290
-rw-r--r--js/lib/rdge/materials/mandel-material.js143
-rwxr-xr-xjs/lib/rdge/materials/material-parser.js4
-rwxr-xr-xjs/lib/rdge/materials/material.js569
-rw-r--r--js/lib/rdge/materials/plasma-material.js176
-rw-r--r--js/lib/rdge/materials/pulse-material.js320
-rw-r--r--js/lib/rdge/materials/radial-blur-material.js94
-rwxr-xr-xjs/lib/rdge/materials/radial-gradient-material.js246
-rw-r--r--js/lib/rdge/materials/relief-tunnel-material.js94
-rw-r--r--js/lib/rdge/materials/square-tunnel-material.js94
-rw-r--r--js/lib/rdge/materials/star-material.js110
-rw-r--r--js/lib/rdge/materials/taper-material.js87
-rw-r--r--js/lib/rdge/materials/tunnel-material.js100
-rw-r--r--js/lib/rdge/materials/twist-material.js94
-rw-r--r--js/lib/rdge/materials/twist-vert-material.js300
-rwxr-xr-xjs/lib/rdge/materials/uber-material.js283
-rw-r--r--js/lib/rdge/materials/water-material.js285
-rw-r--r--js/lib/rdge/materials/z-invert-material.js112
-rw-r--r--js/lib/rdge/texture.js608
38 files changed, 5032 insertions, 4258 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js
index 1406ad98..b7cb28e9 100755
--- a/js/lib/NJUtils.js
+++ b/js/lib/NJUtils.js
@@ -39,7 +39,7 @@ var Montage = require("montage/core/core").Montage,
39exports.NJUtils = Montage.create(Component, { 39exports.NJUtils = Montage.create(Component, {
40 40
41 /* =============== DOM Access ================ */ 41 /* =============== DOM Access ================ */
42 42
43 ///// Quick "getElementById" 43 ///// Quick "getElementById"
44 $ : { 44 $ : {
45 value: function(id, doc) { 45 value: function(id, doc) {
@@ -47,7 +47,7 @@ exports.NJUtils = Montage.create(Component, {
47 return doc.getElementById(id); 47 return doc.getElementById(id);
48 } 48 }
49 }, 49 },
50 50
51 ///// Quick "getElementsByClassName" which also returns as an Array 51 ///// Quick "getElementsByClassName" which also returns as an Array
52 ///// Can return as NodeList by passing true as second argument 52 ///// Can return as NodeList by passing true as second argument
53 $$ : { 53 $$ : {
@@ -57,7 +57,7 @@ exports.NJUtils = Montage.create(Component, {
57 return (asNodeList) ? list : this.toArray(list); 57 return (asNodeList) ? list : this.toArray(list);
58 } 58 }
59 }, 59 },
60 60
61 ///// Get child nodes of element 61 ///// Get child nodes of element
62 ///// Omit filter to only return element nodes 62 ///// Omit filter to only return element nodes
63 ///// Pass in filter function to minimize collection, or 63 ///// Pass in filter function to minimize collection, or
@@ -65,14 +65,14 @@ exports.NJUtils = Montage.create(Component, {
65 children : { 65 children : {
66 value : function(el, filter) { 66 value : function(el, filter) {
67 var f = filter || function(item) { 67 var f = filter || function(item) {
68 return item.nodeType === 1; 68 return item.nodeType === 1;
69 }; 69 };
70 return this.toArray(el.childNodes).filter(f); 70 return this.toArray(el.childNodes).filter(f);
71 } 71 }
72 }, 72 },
73 73
74 /* ============= DOM Manipulation ============= */ 74 /* ============= DOM Manipulation ============= */
75 75
76 ///// Creates and returns text node from string 76 ///// Creates and returns text node from string
77 textNode : { 77 textNode : {
78 value: function(text) { 78 value: function(text) {
@@ -95,7 +95,7 @@ exports.NJUtils = Montage.create(Component, {
95 return el; 95 return el;
96 } 96 }
97 }, 97 },
98 98
99 decor: { 99 decor: {
100 value: function(el, attr) { 100 value: function(el, attr) {
101 if (typeof attr === 'object') { 101 if (typeof attr === 'object') {
@@ -183,56 +183,56 @@ exports.NJUtils = Montage.create(Component, {
183 return node; 183 return node;
184 } 184 }
185 }, 185 },
186 186
187 queryParentSelector : { 187 queryParentSelector : {
188 value: function(el, strSelector) { 188 value: function(el, strSelector) {
189 // queryParentSelector: 189 // queryParentSelector:
190 // Given a DOM element el (required), walk up the DOM tree 190 // Given a DOM element el (required), walk up the DOM tree
191 // and find the first parent that matches selector strSelector (required). 191 // and find the first parent that matches selector strSelector (required).
192 // Returns: The element that matches, or false if there is no match 192 // Returns: The element that matches, or false if there is no match
193 // or if insufficient parameters are supplied. 193 // or if insufficient parameters are supplied.
194 194
195 if ((typeof(el) === "undefined") || (typeof(strSelector) === "undefined")) { 195 if ((typeof(el) === "undefined") || (typeof(strSelector) === "undefined")) {
196 // Parameters are required, m'kay? 196 // Parameters are required, m'kay?
197 return false; 197 return false;
198 } else if ((typeof(el) !== "object") || (typeof(strSelector) !== "string" )) { 198 } else if ((typeof(el) !== "object") || (typeof(strSelector) !== "string" )) {
199 // You also have to use the right parameters. 199 // You also have to use the right parameters.
200 return false; 200 return false;
201 } 201 }
202 202
203 // First, get an empty clone of the parent. 203 // First, get an empty clone of the parent.
204 var myParent = el.parentNode; 204 var myParent = el.parentNode;
205 var clone = myParent.cloneNode(false); 205 var clone = myParent.cloneNode(false);
206 if (clone === null) { 206 if (clone === null) {
207 return false; 207 return false;
208 } 208 }
209 209
210 // If we're at the top of the DOM, our clone will be an htmlDocument. 210 // If we're at the top of the DOM, our clone will be an htmlDocument.
211 // htmlDocument has no tagName. 211 // htmlDocument has no tagName.
212 if (typeof(clone.tagName) !== "undefined") { 212 if (typeof(clone.tagName) !== "undefined") {
213 // create a bogus div to use as a base for querySelector 213 // create a bogus div to use as a base for querySelector
214 var temp = document.createElement("div"); 214 var temp = document.createElement("div");
215 215
216 // Append the clone to the bogus div 216 // Append the clone to the bogus div
217 temp.appendChild(clone); 217 temp.appendChild(clone);
218 218
219 // Now we can use querySelector! Sweet. 219 // Now we can use querySelector! Sweet.
220 var selectorTest = temp.querySelector(strSelector); 220 var selectorTest = temp.querySelector(strSelector);
221 221
222 // What has querySelector returned? 222 // What has querySelector returned?
223 if (selectorTest === null) { 223 if (selectorTest === null) {
224 // No match, so recurse. 224 // No match, so recurse.
225 return this.queryParentSelector(myParent, strSelector); 225 return this.queryParentSelector(myParent, strSelector);
226 } else { 226 } else {
227 // Match! Return the element. 227 // Match! Return the element.
228 return myParent; 228 return myParent;
229 } 229 }
230 } else { 230 } else {
231 // We're at the top of the DOM so we're done. 231 // We're at the top of the DOM so we're done.
232 return false; 232 return false;
233 } 233 }
234 } 234 }
235 235
236 }, 236 },
237 237
238 // Returns the numerical value and unit string from a string. 238 // Returns the numerical value and unit string from a string.
@@ -257,14 +257,14 @@ exports.NJUtils = Montage.create(Component, {
257 }, 257 },
258 258
259 /* ================= Style methods ================= */ 259 /* ================= Style methods ================= */
260 260
261 ///// Get computed height of element 261 ///// Get computed height of element
262 height : { 262 height : {
263 value: function(node, pseudo) { 263 value: function(node, pseudo) {
264 return node.ownerDocument.defaultView.getComputedStyle(node, pseudo).getPropertyValue('height'); 264 return node.ownerDocument.defaultView.getComputedStyle(node, pseudo).getPropertyValue('height');