aboutsummaryrefslogtreecommitdiff
path: root/assets/canvas-runtime.js
diff options
context:
space:
mode:
authorNivesh Rajbhandari2012-04-25 14:33:34 -0700
committerNivesh Rajbhandari2012-04-25 14:33:34 -0700
commit7a03f8393b2a8fe4ada75757d967a0af8b649553 (patch)
treed5e669c7f9aebb290840e4cc469e4b953569bb4f /assets/canvas-runtime.js
parent5e029d148e267b7ec8662f31ccdae2a0916de329 (diff)
downloadninja-7a03f8393b2a8fe4ada75757d967a0af8b649553.tar.gz
Updating the canvas runtime files for gradient and rectangle radius fixes.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
Diffstat (limited to 'assets/canvas-runtime.js')
-rw-r--r--assets/canvas-runtime.js40
1 files changed, 24 insertions, 16 deletions
diff --git a/assets/canvas-runtime.js b/assets/canvas-runtime.js
index ee9f24a4..ce2a15de 100644
--- a/assets/canvas-runtime.js
+++ b/assets/canvas-runtime.js
@@ -685,14 +685,22 @@ NinjaCvsRt.RuntimeRectangle = function ()
685 // various declarations 685 // various declarations
686 var pt, rad, ctr, startPt, bPts; 686 var pt, rad, ctr, startPt, bPts;
687 var width = Math.round(this._width), 687 var width = Math.round(this._width),
688 height = Math.round(this._height); 688 height = Math.round(this._height),
689 689 hw = 0.5*width,
690 pt = [inset, inset]; // top left corner 690 hh = 0.5*height;
691 691
692 var tlRad = this._tlRadius; //top-left radius 692 pt = [inset, inset]; // top left corner
693 var trRad = this._trRadius; 693
694 var blRad = this._blRadius; 694 var tlRad = this._tlRadius; //top-left radius
695 var brRad = this._brRadius; 695 var trRad = this._trRadius;
696 var blRad = this._blRadius;
697 var brRad = this._brRadius;
698 // limit the radii to half the rectangle dimension
699 var minDimen = hw < hh ? hw : hh;
700 if (tlRad > minDimen) tlRad = minDimen;
701 if (blRad > minDimen) blRad = minDimen;
702 if (brRad > minDimen) brRad = minDimen;
703 if (trRad > minDimen) trRad = minDimen;
696 704
697 if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0)) 705 if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0))
698 { 706 {
@@ -769,7 +777,7 @@ NinjaCvsRt.RuntimeRectangle = function ()
769 var lw = this._strokeWidth; 777 var lw = this._strokeWidth;
770 var w = world.getViewportWidth(), 778 var w = world.getViewportWidth(),
771 h = world.getViewportHeight(); 779 h = world.getViewportHeight();
772 780
773 var c, 781 var c,
774 inset, 782 inset,
775 gradient, 783 gradient,
@@ -781,13 +789,13 @@ NinjaCvsRt.RuntimeRectangle = function ()
781 // render the fill 789 // render the fill
782 ctx.beginPath(); 790 ctx.beginPath();
783 if (this._fillColor) { 791 if (this._fillColor) {
784 inset = Math.ceil( lw ) + 0.5; 792 inset = Math.ceil( lw ) - 0.5;
785 793
786 if(this._fillColor.gradientMode) { 794 if(this._fillColor.gradientMode) {
787 if(this._fillColor.gradientMode === "radial") { 795 if(this._fillColor.gradientMode === "radial") {
788 gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w/2, h/2)-inset); 796 gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w, h)/2);
789 } else { 797 } else {
790 gradient = ctx.createLinearGradient(inset, h/2, w-2*inset, h/2); 798 gradient = ctx.createLinearGradient(inset/2, h/2, w-inset, h/2);
791 } 799 }
792 colors = this._fillColor.color; 800 colors = this._fillColor.color;
793 801
@@ -815,11 +823,11 @@ NinjaCvsRt.RuntimeRectangle = function ()
815 // render the stroke 823 // render the stroke
816 ctx.beginPath(); 824 ctx.beginPath();
817 if (this._strokeColor) { 825 if (this._strokeColor) {
818 inset = Math.ceil( 0.5*lw ) + 0.5; 826 inset = Math.ceil( 0.5*lw ) - 0.5;
819 827
820 if(this._strokeColor.gradientMode) { 828 if(this._strokeColor.gradientMode) {
821 if(this._strokeColor.gradientMode === "radial") { 829 if(this._strokeColor.gradientMode === "radial") {
822 gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h/2, w/2)-inset, w/2, h/2, Math.max(h/2, w/2)); 830 gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h, w)/2-inset, w/2, h/2, Math.max(h, w)/2);
823 } else { 831 } else {
824 gradient = ctx.createLinearGradient(0, h/2, w, h/2); 832 gradient = ctx.createLinearGradient(0, h/2, w, h/2);
825 } 833 }
@@ -1025,9 +1033,9 @@ NinjaCvsRt.RuntimeOval = function ()
1025 if(this._fillColor.gradientMode) { 1033 if(this._fillColor.gradientMode) {
1026 if(this._fillColor.gradientMode === "radial") { 1034 if(this._fillColor.gradientMode === "radial") {
1027 gradient = ctx.createRadialGradient(xCtr, yCtr, 0, 1035 gradient = ctx.createRadialGradient(xCtr, yCtr, 0,
1028 xCtr, yCtr, Math.max(yScale, xScale)); 1036 xCtr, yCtr, Math.max(this._width, this._height)/2);
1029 } else { 1037 } else {
1030 gradient = ctx.createLinearGradient(0, this._height/2, this._width, this._height/2); 1038 gradient = ctx.createLinearGradient(lineWidth/2, this._height/2, this._width-lineWidth, this._height/2);
1031 } 1039 }
1032 colors = this._fillColor.color; 1040 colors = this._fillColor.color;
1033 1041