aboutsummaryrefslogtreecommitdiff
path: root/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib')
-rwxr-xr-xjs/lib/NJUtils.js12
-rwxr-xr-xjs/lib/drawing/world.js6
-rwxr-xr-xjs/lib/geom/brush-stroke.js2
-rwxr-xr-xjs/lib/geom/circle.js1507
-rwxr-xr-xjs/lib/geom/geom-obj.js852
-rwxr-xr-xjs/lib/geom/line.js914
-rwxr-xr-xjs/lib/geom/rectangle.js1433
-rw-r--r--js/lib/geom/shape-primitive.js27
-rwxr-xr-xjs/lib/geom/sub-path.js2
-rwxr-xr-xjs/lib/rdge/materials/linear-gradient-material.js36
-rwxr-xr-xjs/lib/rdge/materials/material.js4
-rwxr-xr-xjs/lib/rdge/materials/radial-gradient-material.js70
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
771BrushStroke.prototype = new GeomObj(); 771BrushStroke.prototype = Object.create(GeomObj, {});
772 772
773BrushStroke.prototype._CatmullRomSplineInterpolate = function(ctrlPts, t) 773BrushStroke.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
7var GeomObj = require("js/lib/geom/geom-obj").GeomObj; 7var GeomObj = require("js/lib/geom/geom-obj").GeomObj;
8var ShapePrimitive = require("js/lib/geom/shape-primitive").ShapePrimitive; 8var ShapePrimitive = require("js/lib/geom/shape-primitive").ShapePrimitive;
9var MaterialsModel = require("js/models/materials-model").MaterialsModel; 9var MaterialsModel = require("js/models/materials-model").MaterialsModel;
10var drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils; 10var drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils;
11var vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; 11var 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///////////////////////////////////////////////////////////////////////
19var Circle = function GLCircle() { 19exports.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 };
83 82
84 this.getStrokeMaterial = function() { 83 setStrokeWidth: {
85 return this._strokeMaterial; 84 value: function(w) {