aboutsummaryrefslogtreecommitdiff
path: root/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib')
-rwxr-xr-xjs/lib/NJUtils.js14
-rwxr-xr-xjs/lib/geom/circle.js4
-rwxr-xr-xjs/lib/geom/rectangle.js20
3 files changed, 22 insertions, 16 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js
index 67bb59c4..dae128e4 100755
--- a/js/lib/NJUtils.js
+++ b/js/lib/NJUtils.js
@@ -94,10 +94,10 @@ exports.NJUtils = Object.create(Object.prototype, {
94 ///// TODO: find a different place for this function 94 ///// TODO: find a different place for this function
95 makeElementModel: { 95 makeElementModel: {
96 value: function(el, selection, controller, isShape) { 96 value: function(el, selection, controller, isShape) {
97 //el.elementModel = Montage.create(ElementModel).initialize(el.nodeName, selection, controller, isShape);
98
97 var p3d = Montage.create(Properties3D); 99 var p3d = Montage.create(Properties3D);
98 if(selection === "Stage") { 100
99 p3d.init(el, true);
100 }
101 var shapeProps = null; 101 var shapeProps = null;
102 var pi = controller + "Pi"; 102 var pi = controller + "Pi";
103 103
@@ -143,6 +143,7 @@ exports.NJUtils = Object.create(Object.prototype, {
143 isShape: { value: isShape} 143 isShape: { value: isShape}
144 }); 144 });
145 145
146
146 } 147 }
147 }, 148 },
148 149
@@ -167,15 +168,12 @@ exports.NJUtils = Object.create(Object.prototype, {
167 break; 168 break;
168 case "canvas": 169 case "canvas":
169 isShape = el.getAttribute("data-RDGE-id"); 170 isShape = el.getAttribute("data-RDGE-id");
170 if(isShape) 171 if(isShape) {
171 {
172 // TODO - Need more info about the shape 172 // TODO - Need more info about the shape
173 selection = "canvas"; 173 selection = "canvas";
174 controller = "shape"; 174 controller = "shape";
175 isShape = true; 175 isShape = true;
176 } 176 } else {
177 else
178 {
179 selection = "canvas"; 177 selection = "canvas";
180 controller = "canvas"; 178 controller = "canvas";
181 } 179 }
diff --git a/js/lib/geom/circle.js b/js/lib/geom/circle.js
index 1073c2db..218dcfa6 100755
--- a/js/lib/geom/circle.js
+++ b/js/lib/geom/circle.js
@@ -457,9 +457,9 @@ var Circle = function GLCircle() {
457 if(this._fillColor.gradientMode) { 457 if(this._fillColor.gradientMode) {
458 if(this._fillColor.gradientMode === "radial") { 458 if(this._fillColor.gradientMode === "radial") {
459 gradient = ctx.createRadialGradient(xCtr, yCtr, 0, 459 gradient = ctx.createRadialGradient(xCtr, yCtr, 0,
460 xCtr, yCtr, Math.max(yScale, xScale)); 460 xCtr, yCtr, Math.max(this._width, this._height)/2);
461 } else { 461 } else {
462 gradient = ctx.createLinearGradient(0, this._height/2, this._width, this._height/2); 462 gradient = ctx.createLinearGradient(lineWidth/2, this._height/2, this._width-lineWidth, this._height/2);
463 } 463 }
464 colors = this._fillColor.color; 464 colors = this._fillColor.color;
465 465
diff --git a/js/lib/geom/rectangle.js b/js/lib/geom/rectangle.js
index 91b1d426..fcd1c1bd 100755
--- a/js/lib/geom/rectangle.js
+++ b/js/lib/geom/rectangle.js
@@ -356,7 +356,9 @@ var Rectangle = function GLRectangle() {
356 // various declarations 356 // various declarations
357 var pt, rad, ctr, startPt, bPts; 357 var pt, rad, ctr, startPt, bPts;
358 var width = Math.round(this.getWidth()), 358 var width = Math.round(this.getWidth()),
359 height = Math.round(this.getHeight()); 359 height = Math.round(this.getHeight()),
360 hw = 0.5*width,
361 hh = 0.5*height;
360 362
361 pt = [inset, inset]; // top left corner 363 pt = [inset, inset]; // top left corner
362 364
@@ -364,6 +366,12 @@ var Rectangle = function GLRectangle() {
364 var trRad = this._trRadius; 366 var trRad = this._trRadius;
365 var blRad = this._blRadius; 367 var blRad = this._blRadius;
366 var brRad = this._brRadius; 368 var brRad = this._brRadius;
369 // limit the radii to half the rectangle dimension
370 var minDimen = hw < hh ? hw : hh;
371 if (tlRad > minDimen) tlRad = minDimen;
372 if (blRad > minDimen) blRad = minDimen;
373 if (brRad > minDimen) brRad = minDimen;
374 if (trRad > minDimen) trRad = minDimen;
367 375
368 if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0)) { 376 if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0)) {
369 ctx.rect(pt[0], pt[1], width - 2*inset, height - 2*inset); 377 ctx.rect(pt[0], pt[1], width - 2*inset, height - 2*inset);
@@ -452,13 +460,13 @@ var Rectangle = function GLRectangle() {
452 // render the fill 460 // render the fill
453 ctx.beginPath(); 461 ctx.beginPath();
454 if (this._fillColor) { 462 if (this._fillColor) {
455 inset = Math.ceil( lw ) + 0.5; 463 inset = Math.ceil( lw ) - 0.5;
456 464
457 if(this._fillColor.gradientMode) { 465 if(this._fillColor.gradientMode) {
458 if(this._fillColor.gradientMode === "radial") { 466 if(this._fillColor.gradientMode === "radial") {
459 gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w/2, h/2)-inset); 467 gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w, h)/2);
460 } else { 468 } else {
461 gradient = ctx.createLinearGradient(inset, h/2, w-2*inset, h/2); 469 gradient = ctx.createLinearGradient(inset/2, h/2, w-inset, h/2);
462 } 470 }
463 colors = this._fillColor.color; 471 colors = this._fillColor.color;
464 472
@@ -486,11 +494,11 @@ var Rectangle = function GLRectangle() {
486 // render the stroke 494 // render the stroke
487 ctx.beginPath(); 495 ctx.beginPath();
488 if (this._strokeColor) { 496 if (this._strokeColor) {
489 inset = Math.ceil( 0.5*lw ) + 0.5; 497 inset = Math.ceil( 0.5*lw ) - 0.5;
490 498
491 if(this._strokeColor.gradientMode) { 499 if(this._strokeColor.gradientMode) {
492 if(this._strokeColor.gradientMode === "radial") { 500 if(this._strokeColor.gradientMode === "radial") {
493 gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h/2, w/2)-inset, w/2, h/2, Math.max(h/2, w/2)); 501 gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h, w)/2-inset, w/2, h/2, Math.max(h, w)/2);
494 } else { 502 } else {
495 gradient = ctx.createLinearGradient(0, h/2, w, h/2); 503 gradient = ctx.createLinearGradient(0, h/2, w, h/2);
496 } 504 }