aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/lib/geom/line.js70
-rwxr-xr-xjs/panels/Splitter.js2
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css4
-rw-r--r--js/panels/presets/animations-presets.reel/animations-presets.js47
-rw-r--r--js/panels/presets/default-animation-presets.js2
-rw-r--r--js/panels/presets/default-style-presets.js11
-rw-r--r--js/panels/presets/default-transition-presets.js8
-rw-r--r--js/panels/presets/style-presets.reel/style-presets.js49
-rw-r--r--js/panels/presets/transitions-presets.reel/transitions-presets.js20
-rw-r--r--js/panels/resize-composer.js34
-rwxr-xr-xjs/tools/Translate3DToolBase.js26
-rwxr-xr-xjs/tools/TranslateObject3DTool.js21
-rwxr-xr-xjs/tools/modifier-tool-base.js14
13 files changed, 180 insertions, 128 deletions
diff --git a/js/lib/geom/line.js b/js/lib/geom/line.js
index e839e229..1848218d 100755
--- a/js/lib/geom/line.js
+++ b/js/lib/geom/line.js
@@ -140,76 +140,6 @@ var Line = function GLLine( world, xOffset, yOffset, width, height, slope, strok
140 this.importMaterialsJSON( jObj.materials ); 140 this.importMaterialsJSON( jObj.materials );
141 }; 141 };
142 142
143 this.export = function() {
144 var rtnStr = "type: " + this.geomType() + "\n";
145
146 rtnStr += "xoff: " + this._xOffset + "\n";
147 rtnStr += "yoff: " + this._yOffset + "\n";
148 rtnStr += "width: " + this._width + "\n";
149 rtnStr += "height: " + this._height + "\n";
150 rtnStr += "xAdj: " + this._xAdj + "\n";
151 rtnStr += "yAdj: " + this._yAdj + "\n";
152 rtnStr += "strokeWidth: " + this._strokeWidth + "\n";
153
154 if(this._strokeColor.gradientMode) {
155 rtnStr += "strokeGradientMode: " + this._strokeColor.gradientMode + "\n";
156 rtnStr += "strokeColor: " + this.gradientToString(this._strokeColor.color) + "\n";
157 } else {
158 rtnStr += "strokeColor: " + String(this._strokeColor) + "\n";
159 }
160
161 rtnStr += "strokeStyle: " + this._strokeStyle + "\n";
162 rtnStr += "slope: " + String(this._slope) + "\n";
163
164 rtnStr += "strokeMat: ";
165 if (this._strokeMaterial) {
166 rtnStr += this._strokeMaterial.getName();
167 } else {
168 rtnStr += MaterialsModel.getDefaultMaterialName();
169 }
170
171 rtnStr += "\n";
172 return rtnStr;
173 };
174
175 this.import = function( importStr ) {
176 this._xOffset = Number( this.getPropertyFromString( "xoff: ", importStr ) );
177 this._yOffset = Number( this.getPropertyFromString( "yoff: ", importStr ) );
178 this._width = Number( this.getPropertyFromString( "width: ", importStr ) );
179 this._height = Number( this.getPropertyFromString( "height: ", importStr ) );
180 this._xAdj = Number( this.getPropertyFromString( "xAdj: ", importStr ) );
181 this._yAdj = Number( this.getPropertyFromString( "yAdj: ", importStr ) );
182 this._strokeWidth = Number( this.getPropertyFromString( "strokeWidth: ", importStr ) );
183 var slope = this.getPropertyFromString( "slope: ", importStr );
184
185 if(isNaN(Number(slope))) {
186 this._slope = slope;
187 } else {
188 this._slope = Number(slope);
189 }
190
191 var strokeMaterialName = this.getPropertyFromString( "strokeMat: ", importStr );
192 this._strokeStyle = this.getPropertyFromString( "strokeStyle: ", importStr );
193
194 if(importStr.indexOf("strokeGradientMode: ") < 0)
195 {
196 this._strokeColor = eval( "[" + this.getPropertyFromString( "strokeColor: ", importStr ) + "]" );
197 } else {
198 this._strokeColor = {};
199 this._strokeColor.gradientMode = this.getPropertyFromString( "strokeGradientMode: ", importStr );
200 this._strokeColor.color = this.stringToGradient(this.getPropertyFromString( "strokeColor: ", importStr ));
201 }
202
203 var strokeMat = MaterialsModel.getMaterial( strokeMaterialName );
204 if (!strokeMat) {
205 console.log( "object material not found in library: " + strokeMaterialName );
206 strokeMat = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() );
207 }
208
209 this._strokeMaterial = strokeMat;
210
211 };
212
213 /////////////////////////////////////////////////////////////////////// 143 ///////////////////////////////////////////////////////////////////////
214 // Methods 144 // Methods
215 /////////////////////////////////////////////////////////////////////// 145 ///////////////////////////////////////////////////////////////////////
diff --git a/js/panels/Splitter.js b/js/panels/Splitter.js
index 6791e0d5..e92cb2dd 100755
--- a/js/panels/Splitter.js
+++ b/js/panels/Splitter.js
@@ -55,7 +55,7 @@ exports.Splitter = Montage.create(Component, {
55 }, 55 },
56 set: function(value) { 56 set: function(value) {
57 this._collapsed = value; 57 this._collapsed = value;
58 this.needsDraw = true; 58
59 this.application.localStorage.setItem(this.element.getAttribute("data-montage-id"), {"version": this.version, "value": value}); 59 this.application.localStorage.setItem(this.element.getAttribute("data-montage-id"), {"version": this.version, "value": value});
60 } 60 }
61 }, 61 },
diff --git a/js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css b/js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css
index 067285ae..129b9771 100644
--- a/js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css
+++ b/js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css
@@ -10,12 +10,12 @@
10 height: 100%; 10 height: 100%;
11} 11}
12.maintimeline{ 12.maintimeline{
13 border-style: double;
13 -webkit-box-flex: 1; 14 -webkit-box-flex: 1;
14 display: -webkit-box; 15 display: -webkit-box;
15 -webkit-box-orient: horizontal; 16 -webkit-box-orient: horizontal
16 height : 100%; 17 height : 100%;
17 position: relative; 18 position: relative;
18 margin-top:1px;
19} 19}
20.leftinside{ 20.leftinside{
21 height: 100%; 21 height: 100%;
diff --git a/js/panels/presets/animations-presets.reel/animations-presets.js b/js/panels/presets/animations-presets.reel/animations-presets.js
index 6a16da54..ab200212 100644
--- a/js/panels/presets/animations-presets.reel/animations-presets.js
+++ b/js/panels/presets/animations-presets.reel/animations-presets.js
@@ -22,7 +22,52 @@ exports.AnimationsLibrary = Montage.create(Component, {
22 }, 22 },
23 handleNodeActivation: { 23 handleNodeActivation: {
24 value: function(presetData) { 24 value: function(presetData) {
25 this.application.ninja.presetsController.applyPreset(presetData); 25 //debugger;
26 var selection = this.application.ninja.selectedElements,
27 stylesController = this.application.ninja.stylesController,
28 selectorBase = presetData.selectorBase,
29 self = this;
30
31 if(!selection || !selection.length || selection.length === 0) {
32 return false;
33 }
34
35 selectorBase = stylesController.generateClassName(selectorBase);
36
37 presetData.rules.forEach(function(rule) {
38 if(rule.isKeyFrameRule) {
39 this.application.ninja.stylesController.addRule(
40 '@-webkit-keyframes ' + presetData.selectorBase,
41 this.stringifyKeys(rule.keys)
42 );
43 } else {
44 this.application.ninja.stylesController.addRule('.' + selectorBase + rule.selectorSuffix, rule.styles);
45 }
46
47 }, this);
48
49 selection.forEach(function(el) {
50 el._element.classList.add(selectorBase);
51 }, this);
52
53 }
54 },
55
56 stringifyKeys : {
57 value: function(keysArray) {
58 var keysString = '';
59
60 keysArray.forEach(function(key) {
61 var styles = '', style;
62
63 for(style in key.styles) {
64 styles += style + ':' + key.styles[style] + '; ';
65 }
66
67 keysString += key.keyText + ' {' + styles + ' }';
68 });
69
70 return keysString;
26 } 71 }
27 } 72 }
28}); 73});
diff --git a/js/panels/presets/default-animation-presets.js b/js/panels/presets/default-animation-presets.js
index b12a94b2..64f91ea6 100644
--- a/js/panels/presets/default-animation-presets.js
+++ b/js/panels/presets/default-animation-presets.js
@@ -13,6 +13,7 @@ exports.animationPresets = {
13 "text": "Border Morph", 13 "text": "Border Morph",
14 "selectorBase" : "border-morph", 14 "selectorBase" : "border-morph",
15 "rules" : [{ 15 "rules" : [{
16 "selectorSuffix" : "",
16 "styles" : { 17 "styles" : {
17 "-webkit-animation": "border-morph 2s infinite" 18 "-webkit-animation": "border-morph 2s infinite"
18 } 19 }
@@ -90,6 +91,7 @@ exports.animationPresets = {
90 "text": "Rotater", 91 "text": "Rotater",
91 "selectorBase" : "rotate-with-alpha-keyframes", 92 "selectorBase" : "rotate-with-alpha-keyframes",
92 "rules" : [{ 93 "rules" : [{
94 "selectorSuffix" : "",
93 "styles" : { 95 "styles" : {
94 "-webkit-animation-name": "rotate-with-alpha-keyframes", 96 "-webkit-animation-name": "rotate-with-alpha-keyframes",
95 "-webkit-animation-duration": "5s", 97 "-webkit-animation-duration": "5s",
diff --git a/js/panels/presets/default-style-presets.js b/js/panels/presets/default-style-presets.js
index 10b24ff4..82bec34f 100644
--- a/js/panels/presets/default-style-presets.js
+++ b/js/panels/presets/default-style-presets.js
@@ -11,9 +11,9 @@ exports.stylePresets = {
11