aboutsummaryrefslogtreecommitdiff
path: root/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js
diff options
context:
space:
mode:
authorJonathan Duran2012-02-09 12:10:37 -0800
committerJonathan Duran2012-02-09 12:10:37 -0800
commit2092acf520e3f346f15e42c76c2f616e7d094c97 (patch)
tree9b6948aa3efc69015ed6988540e66984f34ef79c /js/helper-classes/RDGE/Materials/RadialGradientMaterial.js
parent74832b23c768974f71a32044c5d5481909ece931 (diff)
downloadninja-2092acf520e3f346f15e42c76c2f616e7d094c97.tar.gz
Squashed commit of the following:
commit ce81a3f4387d80f9ac406e73b843fb5dbe9cf432 Merge: e78f431 fba39db Author: Valerio Virgillito <valerio@motorola.com> Date: Thu Feb 9 11:57:35 2012 -0800 Merge pull request #26 from pushkarjoshi/pentool Pentool commit e78f4312c194d9e8188075cf1fe87e4be22b24e4 Author: Valerio Virgillito <valerio@motorola.com> Date: Thu Feb 9 11:56:40 2012 -0800 adding oneway to the 3d bindings to fix a bug where the stage was getting selected. Signed-off-by: Valerio Virgillito <valerio@motorola.com> commit fba39dbb3bd64eddf6162fbf57232089e446fb06 Author: Pushkar Joshi <pushkar@motorola.com> Date: Thu Feb 9 10:50:05 2012 -0800 removing shaders commit fa700027b541ec8f37c55f4fe17da5f78759ebd5 Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 8 16:06:37 2012 -0800 fill all paths even if they are open commit 18243deb66ab14a014756bfb0be1a52648c7771a Merge: 802e92e 0537f8f Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 8 15:42:40 2012 -0800 Merge branch 'master' into pentool Conflicts: js/helper-classes/RDGE/GLWorld.js js/helper-classes/RDGE/MaterialsLibrary.js commit 802e92eb70b00849dadacf2c6590d27edbe65d99 Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 8 15:39:47 2012 -0800 bug fixes for better anchor point rotation and removing snapping on hover and mouse down commit 9b6b228524f14bf65ba60aaf3d0993c8ec5bff2d Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Feb 7 15:22:11 2012 -0800 some minor bug fixes and code cleanup commit 4bbe42e6d01fd0f81d13357a75b40eae9925dda3 Merge: e7aa17a 8950b34 Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Feb 7 07:21:27 2012 -0800 Merge branch 'master' into pentool commit e7aa17a9b472640355e95c54841399f6203050d4 Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Feb 7 07:20:28 2012 -0800 don't use colorToHex function because it only works for 3D color (needs a fix to colorToHex) commit acc500d1f1c76f4e7c93ae1cfea8d925ca95e7b9 Merge: 4d4de64 4222db9 Author: Pushkar Joshi <pushkar@motorola.com> Date: Thu Feb 2 11:28:45 2012 -0800 Merge branch 'working' of c:/Code/github/emueller/ninja-internal/ into pentool commit 4d4de64472603426a73b26cc98ba8206190949b8 Merge: 0e87c02 5233508 Author: Pushkar Joshi <pushkar@motorola.com> Date: Thu Feb 2 11:19:30 2012 -0800 Merge branch 'master' into pentool commit 4222db97e353fb65fab787ba5927d16d9fa4e1f7 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 16:18:26 2012 -0800 Removed a console log and set the Plasma material to animating. commit 30bc466a0ac80f8303e223c19704b90457293cdc Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 15:57:20 2012 -0800 Fixed plane orientations for view orientations other than front. commit 11db5a63bda57c630eaf1d8baded9b79ca7ac1f2 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 15:11:21 2012 -0800 listen for the appMouseUp event in the Pan tool commit 823945a2bcb42bbf9c6a1cd0ef723b8f415e557f Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 14:39:46 2012 -0800 factor in the zoom factor when drawing the stage compass. commit 0e87c02e74e08c7bf156373b0d2459563e17ecd6 Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 1 14:38:15 2012 -0800 make GLAnchorPoint functions as part of its prototype commit 5a288b9d3f8e6690149978d9d0e7bea98cc81312 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 14:09:24 2012 -0800 Fix for a marquee zoom bug. commit 715f95cacead0025a57823e4cefa22e618f15df0 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 14:00:06 2012 -0800 mouse wheel for zoom tool commit 62d38a080b2918a0284c854e9bf882bfeeea1e0b Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 1 13:21:11 2012 -0800 avoid overriding GlGeomObj translate method commit 799369e153baf92eb10f26e91a1ab664900da8ed Merge: b2ce8b8 c0f4374 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 13:06:17 2012 -0800 Merge branch 'ToolFixes' of github.com:mqg734/ninja-internal into working commit b2ce8b819cc85a558d862c04965b7e65a6ce8640 Author: hwc487 <hwc487@motorola.com> Date: Wed Feb 1 13:05:32 2012 -0800 changes to allow minimal rendering ofnon-animated materials. commit ada488781ff815a827e7f5903f2c55773e3be0f3 Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 1 12:16:11 2012 -0800 when selecting anchor points, first check if the selected anchor position is close enough commit 107f79288ed87a282dd52075640297cc02bdf318 Author: Pushkar Joshi <pushkar@motorola.com> Date: Wed Feb 1 12:00:44 2012 -0800 performance improvement: add most of the GLSubpath functions to its prototype commit c00d5d3072e487be200559f692ce4399222d5fa5 Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Jan 31 14:25:05 2012 -0800 handle the case of proper redraw when the alt key is held down even after mouse up commit c006b3e75d5e23da63687a04cd30bf56a3a8a80d Merge: f0e3fa6 1d8af9f Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Jan 31 12:07:43 2012 -0800 Merge branch 'master' into pentool commit f0e3fa691b3c042c9fc49a7a0cde8ddf8100c195 Author: Pushkar Joshi <pushkar@motorola.com> Date: Tue Jan 31 12:05:15 2012 -0800 display the anchor point to be selected on mouse hover commit aa1b4b78d9e1b9cc15529dbf7196b7ac8a88e260 Merge: 0b8d8b2 6066b9b Author: hwc487 <hwc487@motorola.com> Date: Tue Jan 31 10:46:48 2012 -0800 Merge branch 'ToolFixes' of github.com:mqg734/ninja-internal into working Conflicts: js/stage/stage.reel/stage.js commit 0b8d8b2eb595b64ef53440b949f3c5ec891daf8a Merge: 8e43a46 e4837ed Author: hwc487 <hwc487@motorola.com> Date: Tue Jan 31 09:22:56 2012 -0800 Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal into working commit 8e43a46e3d79323fe06dc7771bc611a2c3c85c5c Author: hwc487 <hwc487@motorola.com> Date: Mon Jan 30 16:15:12 2012 -0800 Renderer startup handling of non-animated materials. Changed zoom from the document bar to keep the location center of the viewable portion of the document fixed. commit c41d2c2b749b67921f243fb7594ce0cdb1ccce36 Merge: 86a801c f129a23 Author: hwc487 <hwc487@motorola.com> Date: Mon Jan 30 16:09:00 2012 -0800 Merge branch 'staging' of github.com:Motorola-Mobility/ninja-internal into working commit 972e0ce4df7b332601ad006ca8b7dd9e189a59ef Author: Pushkar Joshi <pushkar@motorola.com> Date: Mon Jan 30 14:38:48 2012 -0800 do the fill before the stroke for the path, so the stroke width renders acc. to user specification commit da7ad067b146200847b543faf288844221dff928 Author: Pushkar Joshi <pushkar@motorola.com> Date: Mon Jan 30 14:30:31 2012 -0800 missed a couple of pen tool property files on last checkin commit 76abbaafb0d90bb1dc9c63a5a5a78ab95bb00420 Author: Pushkar Joshi <pushkar@motorola.com> Date: Mon Jan 30 13:56:33 2012 -0800 Merge pushkar branch on gerritt with github version commit 86a801c057fc3b0580d6130be5740c2ee503444f Author: hwc487 <hwc487@motorola.com> Date: Fri Jan 27 15:52:36 2012 -0800 updated from old repo Signed-off-by: Jonathan Duran <jduran@motorola.com>
Diffstat (limited to 'js/helper-classes/RDGE/Materials/RadialGradientMaterial.js')
-rw-r--r--js/helper-classes/RDGE/Materials/RadialGradientMaterial.js188
1 files changed, 114 insertions, 74 deletions
diff --git a/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js b/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js
index 70c0e952..cf91f1aa 100644
--- a/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js
+++ b/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js
@@ -21,13 +21,15 @@ function RadialGradientMaterial()
21 this._name = "RadialGradientMaterial"; 21 this._name = "RadialGradientMaterial";
22 this._shaderName = "radialGradient"; 22 this._shaderName = "radialGradient";
23 23
24 this._startColor = [1, 0, 0, 1]; 24 this._color1 = [1,0,0,1];
25 this._stopColor = [0, 1, 0, 1]; 25 this._color2 = [0,1,0,1];
26 26 this._color3 = [0,0,1,1];
27 this._mainCircleRadius = 0.5; 27 this._color4 = [0,1,1,1];
28 this._innerCircleRadius = 0.05; 28 this._colorStop1 = 0.0;
29 this._innerCircleCenter = [0.5, 0.5]; 29 this._colorStop2 = 0.3;
30 this._mainCircleCenter = [0.5, 0.5]; 30 this._colorStop3 = 0.6;
31 this._colorStop4 = 1.0;
32 this._colorCount = 4;
31 33
32 /////////////////////////////////////////////////////////////////////// 34 ///////////////////////////////////////////////////////////////////////
33 // Property Accessors 35 // Property Accessors
@@ -35,42 +37,79 @@ function RadialGradientMaterial()
35 this.getName = function() { return this._name; } 37 this.getName = function() { return this._name; }
36 this.getShaderName = function() { return this._shaderName; } 38 this.getShaderName = function() { return this._shaderName; }
37 39
38 this.getStartColor = function() { return this._startColor.slice(0); } 40
39 this.setStartColor = function(c) { this._startColor = c.slice(0); } 41 this.getColor1 = function() { return this._color1; }
40 42 this.setColor1 = function(c) { this._color1 = c.slice();
41 this.getStopColor = function() { return this._stopColor.slice(0); } 43 if (this._shader && this._shader.default)
42 this.setStopColor = function(c) { this._stopColor = c.slice(0); } 44 this._shader.default.u_color1.set(c);
43 45 }
44 this.getMainCircleRadius = function() { return this._mainCircleRadius; } 46
45 this.setMainCircleRadius = function(r) { this._mainCircleRadius = r; } 47 this.getColor2 = function() { return this._color2; }
46 48 this.setColor2 = function(c) { this._color2 = c.slice();
47 this.getInnerCircleRadius = function() { return this._innerCircleRadius; } 49 if (this._shader && this._shader.default)
48 this.setInnerCircleRadius = function(r) { this._innerCircleRadius = r; } 50 this._shader.default.u_color2.set(c);
51 }
52
53 this.getColor3 = function() { return this._color3; }
54 this.setColor3 = function(c) { this._color3 = c.slice();
55 if (this._shader && this._shader.default)
56 this._shader.default.u_color3.set(c);
57 }
58
59 this.getColor4 = function() { return this._color4; }
60 this.setColor4 = function(c) { this._color4 = c.slice();
61 if (this._shader && this._shader.default)
62 this._shader.default.u_color4.set(c);
63 }
64
65 this.getColorStop1 = function() { return this._colorStop1; }
66 this.setColorStop1 = function(s) { this._colorStop1 = s;
67 if (this._shader && this._shader.default)
68 this._shader.default.u_colorStop1.set([s]);
69 }
70
71 this.getColorStop2 = function() { return this._colorStop2; }
72 this.setColorStop2 = function(s) { this._colorStop2 = s;
73 if (this._shader && this._shader.default)
74 this._shader.default.u_colorStop2.set([s]);
75 }
76
77 this.getColorStop3 = function() { return this._colorStop3; }
78 this.setColorStop3 = function(s) { this._colorStop3 = s;
79 if (this._shader && this._shader.default)
80 this._shader.default.u_colorStop3.set([s]);
81 }
82
83 this.getColorStop4 = function() { return this._colorStop4; }
84 this.setColorStop4 = function(s) { this._colorStop4 = s;
85 if (this._shader && this._shader.default)
86 this._shader.default.u_colorStop4.set([s]);
87 }
88
89 this.getColorCount = function() { return this._colorCount; }
90 this.setColorCount = function(c) { this._colorCount = c;
91 if (this._shader && this._shader.default)
92 this._shader.default.u_colorCount.set([c]);
93 }
94
95 this.isAnimated = function() { return false; }
49 96
50 this.getInnerCircleCenter = function() { return this._innerCircleCenter; }
51 this.setInnerCircleCenter = function(c) { this._innerCircleCenter = c; }
52
53 this.getMainCircleCenter = function() { return this._mainCircleCenter; }
54 this.setMainCircleCenter = function(c) { this._mainCircleCenter = c; }
55 97
56 /////////////////////////////////////////////////////////////////////// 98 ///////////////////////////////////////////////////////////////////////
57 // Material Property Accessors 99 // Material Property Accessors
58 /////////////////////////////////////////////////////////////////////// 100 ///////////////////////////////////////////////////////////////////////
59 this._propNames = ["startColor", "stopColor", "mainCircleRadius", "innerCircleRadius", "mainCircleCenter", "innerCircleCenter"]; 101 this._propNames = ["color1", "color2", "angle"];
60 this._propLabels = ["Start Color", "Stop Color", "Main Circle Radius", "Inner Circle Radius", "Main Circle Center", "Inner Circle Center"]; 102 this._propLabels = ["Start Color", "Stop Color", "Angle"];
61 this._propTypes = ["color", "color", "float", "float", "vector2d", "vector2d"]; 103 this._propTypes = ["color", "color", "float"];
62 this._propValues = []; 104 this._propValues = [];
63 105
64 this._propValues[ this._propNames[0] ] = this._startColor.slice(0); 106 this._propValues[ this._propNames[0] ] = this._color1.slice(0);
65 this._propValues[ this._propNames[1] ] = this._stopColor.slice(0); 107 this._propValues[ this._propNames[1] ] = this._color4.slice(0);
66 this._propValues[ this._propNames[2] ] = this.getMainCircleRadius(); 108 this._propValues[ this._propNames[2] ] = this._angle;
67 this._propValues[ this._propNames[3] ] = this.getInnerCircleRadius();
68 this._propValues[ this._propNames[4] ] = this.getMainCircleCenter();
69 this._propValues[ this._propNames[5] ] = this.getInnerCircleCenter();
70 109
71 this.setProperty = function( prop, value ) 110 this.setProperty = function( prop, value )
72 { 111 {
73 if (prop === "color") prop = "startColor"; 112 if (prop === "color") prop = "color1";
74 113
75 // make sure we have legitimate imput 114 // make sure we have legitimate imput
76 var ok = this.validateProperty( prop, value ); 115 var ok = this.validateProperty( prop, value );
@@ -79,12 +118,9 @@ function RadialGradientMaterial()
79 118
80 switch (prop) 119 switch (prop)
81 { 120 {
82 case "startColor": this.setStartColor(value); break; 121 case "color1": this.setColor1( value ); break;
83 case "stopColor": this.setStopColor(value); break; 122 case "color2": this.setColor2( value ); break;
84 case "innerCircleRadius": this.setInnerCircleRadius( value ); break; 123 case "angle": this.setAngle( value ); break;
85 case "mainCircleRadius": this.setMainCircleRadius( value ); break;
86 case "innerCircleCenter": this.setInnerCircleCenter( value ); break;
87 case "mainCircleCenter": this.setMainCircleCenter( value ); break;
88 } 124 }
89 125
90 this.updateValuesInShader(); 126 this.updateValuesInShader();
@@ -115,25 +151,30 @@ function RadialGradientMaterial()
115 151
116 this.updateValuesInShader = function() 152 this.updateValuesInShader = function()
117 { 153 {
118 if (!this._shader || !this._shader.default) return; 154 if (this._shader && this._shader.default)
119 155 {
120 // calculate values