diff options
Diffstat (limited to 'js/lib')
-rwxr-xr-x | js/lib/NJUtils.js | 12 | ||||
-rwxr-xr-x | js/lib/drawing/world.js | 6 | ||||
-rwxr-xr-x | js/lib/geom/brush-stroke.js | 2 | ||||
-rwxr-xr-x | js/lib/geom/circle.js | 1507 | ||||
-rwxr-xr-x | js/lib/geom/geom-obj.js | 852 | ||||
-rwxr-xr-x | js/lib/geom/line.js | 914 | ||||
-rwxr-xr-x | js/lib/geom/rectangle.js | 1433 | ||||
-rw-r--r-- | js/lib/geom/shape-primitive.js | 27 | ||||
-rwxr-xr-x | js/lib/geom/sub-path.js | 2 | ||||
-rwxr-xr-x | js/lib/rdge/materials/linear-gradient-material.js | 36 | ||||
-rwxr-xr-x | js/lib/rdge/materials/material.js | 4 | ||||
-rwxr-xr-x | js/lib/rdge/materials/radial-gradient-material.js | 70 |
12 files changed, 2553 insertions, 2312 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js index 5aaeb5f2..7dd4c9e8 100755 --- a/js/lib/NJUtils.js +++ b/js/lib/NJUtils.js | |||
@@ -18,16 +18,18 @@ exports.NJUtils = Montage.create(Component, { | |||
18 | 18 | ||
19 | ///// Quick "getElementById" | 19 | ///// Quick "getElementById" |
20 | $ : { | 20 | $ : { |
21 | value: function(id) { | 21 | value: function(id, doc) { |
22 | return document.getElementById(id); | 22 | doc = doc || document; |
23 | return doc.getElementById(id); | ||
23 | } | 24 | } |
24 | }, | 25 | }, |
25 | 26 | ||
26 | ///// Quick "getElementsByClassName" which also returns as an Array | 27 | ///// Quick "getElementsByClassName" which also returns as an Array |
27 | ///// Can return as NodeList by passing true as second argument | 28 | ///// Can return as NodeList by passing true as second argument |
28 | $$ : { | 29 | $$ : { |
29 | value: function(className, asNodeList) { | 30 | value: function(className, asNodeList, doc) { |
30 | var list = document.getElementsByClassName(className); | 31 | doc = doc || document; |
32 | var list = doc.getElementsByClassName(className); | ||
31 | return (asNodeList) ? list : this.toArray(list); | 33 | return (asNodeList) ? list : this.toArray(list); |
32 | } | 34 | } |
33 | }, | 35 | }, |
@@ -62,7 +64,7 @@ exports.NJUtils = Montage.create(Component, { | |||
62 | value: function(tag, attr, doc) { | 64 | value: function(tag, attr, doc) { |
63 | var _doc, el; | 65 | var _doc, el; |
64 | 66 | ||
65 | _doc = doc ? doc._document : document; | 67 | _doc = doc ? doc.model.views.design.document : document; |
66 | el = _doc.createElement(tag); | 68 | el = _doc.createElement(tag); |
67 | this.decor(el, attr); | 69 | this.decor(el, attr); |
68 | 70 | ||
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index 7ce23921..0dde9af4 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js | |||
@@ -874,17 +874,17 @@ World.prototype.importObjectJSON = function( jObj, parentGeomObj ) | |||
874 | switch (type) | 874 | switch (type) |
875 | { | 875 | { |
876 | case 1: | 876 | case 1: |
877 | obj = new Rectangle(); | 877 | obj = Object.create(Rectangle, {}); |
878 | obj.importJSON( jObj ); | 878 | obj.importJSON( jObj ); |
879 | break; | 879 | break; |
880 | 880 | ||
881 | case 2: // circle | 881 | case 2: // circle |
882 | obj = new Circle(); | 882 | obj = Object.create(Circle, {}); |
883 | obj.importJSON( jObj ); | 883 | obj.importJSON( jObj ); |
884 | break; | 884 | break; |
885 | 885 | ||
886 | case 3: // line | 886 | case 3: // line |
887 | obj = new Line(); | 887 | obj = Object.create(Line, {}); |
888 | obj.importJSON( jObj ); | 888 | obj.importJSON( jObj ); |
889 | break; | 889 | break; |
890 | 890 | ||
diff --git a/js/lib/geom/brush-stroke.js b/js/lib/geom/brush-stroke.js index 1fae0c1d..6facdd5d 100755 --- a/js/lib/geom/brush-stroke.js +++ b/js/lib/geom/brush-stroke.js | |||
@@ -768,7 +768,7 @@ var BrushStroke = function GLBrushStroke() { | |||
768 | 768 | ||
769 | }; //function BrushStroke ...class definition | 769 | }; //function BrushStroke ...class definition |
770 | 770 | ||
771 | BrushStroke.prototype = new GeomObj(); | 771 | BrushStroke.prototype = Object.create(GeomObj, {}); |
772 | 772 | ||
773 | BrushStroke.prototype._CatmullRomSplineInterpolate = function(ctrlPts, t) | 773 | BrushStroke.prototype._CatmullRomSplineInterpolate = function(ctrlPts, t) |
774 | { | 774 | { |
diff --git a/js/lib/geom/circle.js b/js/lib/geom/circle.js index 0f1f49a9..4a369844 100755 --- a/js/lib/geom/circle.js +++ b/js/lib/geom/circle.js | |||
@@ -4,9 +4,9 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. |
5 | </copyright> */ | 5 | </copyright> */ |
6 | 6 | ||
7 | var GeomObj = require("js/lib/geom/geom-obj").GeomObj; | 7 | var GeomObj = require("js/lib/geom/geom-obj").GeomObj; |
8 | var ShapePrimitive = require("js/lib/geom/shape-primitive").ShapePrimitive; | 8 | var ShapePrimitive = require("js/lib/geom/shape-primitive").ShapePrimitive; |
9 | var MaterialsModel = require("js/models/materials-model").MaterialsModel; | 9 | var MaterialsModel = require("js/models/materials-model").MaterialsModel; |
10 | var drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils; | 10 | var drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils; |
11 | var vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; | 11 | var vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; |
12 | 12 | ||
@@ -16,823 +16,832 @@ var vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; | |||
16 | // Derived from class GLGeomObj | 16 | // Derived from class GLGeomObj |
17 | // The position and dimensions of the stroke, fill, and inner Radius should be in pixels | 17 | // The position and dimensions of the stroke, fill, and inner Radius should be in pixels |
18 | /////////////////////////////////////////////////////////////////////// | 18 | /////////////////////////////////////////////////////////////////////// |
19 | var Circle = function GLCircle() { | 19 | exports.Circle = Object.create(GeomObj, { |
20 | |||
21 | this.init = function( world, xOffset, yOffset, width, height, strokeSize, strokeColor, fillColor, innerRadius, strokeMaterial, fillMaterial, strokeStyle) { | ||
22 | /////////////////////////////////////////////////////////////////////// | ||
23 | // Instance variables | ||
24 | /////////////////////////////////////////////////////////////////////// | ||
25 | this._width = 2.0; | ||
26 | this._height = 2.0; | ||
27 | this._xOffset = 0; | ||
28 | this._yOffset = 0; | ||
29 | |||
30 | this._radius = 2.0; | ||
31 | this._strokeWidth = 0.25; | ||
32 | this._innerRadius = 0; | ||
33 | |||
34 | this._ovalHeight = this._ovalHeight = 2.0 * this._radius; | ||
35 | |||
36 | this._strokeStyle = "Solid"; | ||
37 | |||
38 | this._aspectRatio = 1.0; | ||
39 | |||
40 | if (arguments.length > 0) { | ||
41 | this._width = width; | ||
42 | this._height = height; | ||
43 | this._xOffset = xOffset; | ||
44 | this._yOffset = yOffset; | ||
45 | |||
46 | this._strokeWidth = strokeSize; | ||
47 | this._innerRadius = innerRadius; | ||
48 | this._strokeColor = strokeColor; | ||
49 | this._fillColor = fillColor; | ||
50 | |||
51 | this._strokeStyle = strokeStyle; | ||
52 | |||
53 | this._matrix = Matrix.I(4); | ||
54 | //this._matrix[12] = xOffset; | ||
55 | //this._matrix[13] = yOffset; | ||
56 | } | ||
57 | 20 | ||
58 | this.m_world = world; | 21 | /////////////////////////////////////////////////////////////////////// |
22 | // Instance variables | ||
23 | /////////////////////////////////////////////////////////////////////// | ||
24 | _width: { value : 2.0, writable: true }, | ||
25 | _height: { value : 2.0, writable: true }, | ||
26 | _xOffset: { value : 0, writable: true }, | ||
27 | _yOffset: { value : 0, writable: true }, | ||
28 | |||
29 | _radius: { value : 2.0, writable: true }, | ||
30 | _strokeWidth: { value : 0.25, writable: true }, | ||
31 | _innerRadius: { value : 0, writable: true }, | ||
32 | _ovalHeight: { value : 4.0, writable: true }, | ||
33 | _strokeStyle: { value : "Solid", writable: true }, | ||
34 | _aspectRatio: { value : 1.0, writable: true }, | ||
35 | |||
36 | init: { | ||
37 | value: function(world, xOffset, yOffset, width, height, strokeSize, strokeColor, fillColor, innerRadius, strokeMaterial, fillMaterial, strokeStyle) { | ||
38 | if(arguments.length > 0) { | ||
39 | this._width = width; | ||
40 | this._height = height; | ||
41 | this._xOffset = xOffset; | ||
42 | this._yOffset = yOffset; | ||
43 | this._ovalHeight = 2.0 * this._radius; | ||
44 | |||
45 | this._strokeWidth = strokeSize; | ||
46 | this._innerRadius = innerRadius; | ||
47 | this._strokeColor = strokeColor; | ||
48 | this._fillColor = fillColor; | ||
49 | |||
50 | this._strokeStyle = strokeStyle; | ||
51 | |||
52 | this._matrix = Matrix.I(4); | ||
53 | //this._matrix[12] = xOffset; | ||
54 | //this._matrix[13] = yOffset; | ||
55 | } | ||
59 | 56 | ||
60 | if(strokeMaterial){ | 57 | this.m_world = world; |
61 | this._strokeMaterial = strokeMaterial; | ||
62 | } else { | ||
63 | this._strokeMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ); | ||
64 | } | ||
65 | 58 | ||
66 | if(fillMaterial) { | 59 | if(strokeMaterial) { |
67 | this._fillMaterial = fillMaterial; | 60 | this._strokeMaterial = strokeMaterial; |
68 | } else { | 61 | } else { |
69 | this._fillMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ); | 62 | this._strokeMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ); |
63 | } | ||
64 | |||
65 | if(fillMaterial) { | ||
66 | this._fillMaterial = fillMaterial; | ||
67 | } else { | ||
68 | this._fillMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ); | ||
69 | } | ||
70 | } | 70 | } |
71 | }; | 71 | }, |
72 | 72 | ||
73 | /////////////////////////////////////////////////////////////////////// | 73 | /////////////////////////////////////////////////////////////////////// |
74 | // Property Accessors | 74 | // Property Accessors |
75 | /////////////////////////////////////////////////////////////////////// | 75 | /////////////////////////////////////////////////////////////////////// |
76 | this.getStrokeWidth = function() { | 76 | // TODO - Use getters/setters in the future |
77 | return this._strokeWidth; | 77 | getStrokeWidth: { |
78 | }; | 78 | value: function() { |
79 | 79 | return this._strokeWidth; | |
80 | this.setStrokeWidth = function(w) { | 80 | } |
81 | this._strokeWidth = w; | 81 | }, |
82 | }; | ||