aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js')
-rw-r--r--js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js95
1 files changed, 48 insertions, 47 deletions
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
index 11d275ce..3c97c6a8 100644
--- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
+++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
@@ -1,24 +1,25 @@
1/* <copyright> 1/* <copyright>
2Copyright (c) 2012, Motorola Mobility, Inc 2Copyright (c) 2012, Motorola Mobility LLC.
3All Rights Reserved. 3All Rights Reserved.
4BSD License.
5 4
6Redistribution and use in source and binary forms, with or without 5Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are met: 6modification, are permitted provided that the following conditions are met:
8 7
9 - Redistributions of source code must retain the above copyright notice, 8* Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer. 9 this list of conditions and the following disclaimer.
11 - Redistributions in binary form must reproduce the above copyright 10
12 notice, this list of conditions and the following disclaimer in the 11* Redistributions in binary form must reproduce the above copyright notice,
13 documentation and/or other materials provided with the distribution. 12 this list of conditions and the following disclaimer in the documentation
14 - Neither the name of Motorola Mobility nor the names of its contributors 13 and/or other materials provided with the distribution.
15 may be used to endorse or promote products derived from this software 14
16 without specific prior written permission. 15* Neither the name of Motorola Mobility LLC nor the names of its
16 contributors may be used to endorse or promote products derived from this
17 software without specific prior written permission.
17 18
18THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
@@ -69,7 +70,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
69 positionPropertyTrack:{ 70 positionPropertyTrack:{
70 value:null 71 value:null
71 }, 72 },
72 73
73 _isFirstDraw: { 74 _isFirstDraw: {
74 value: true 75 value: true
75 }, 76 },
@@ -96,7 +97,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
96 this.trackData.isVisible = value; 97 this.trackData.isVisible = value;
97 } 98 }
98 }, 99 },
99 100
100 _stageElement: { 101 _stageElement: {
101 value: null 102 value: null
102 }, 103 },
@@ -174,7 +175,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
174 } 175 }
175 } 176 }
176 }, 177 },
177 178
178 _arrStyleTracks : { 179 _arrStyleTracks : {
179 value: [] 180 value: []
180 }, 181 },
@@ -200,7 +201,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
200 this._styleTracksRepetition = newVal; 201 this._styleTracksRepetition = newVal;
201 } 202 }
202 }, 203 },
203 204
204 /* Position Property Tracks */ 205 /* Position Property Tracks */
205 _arrPositionTracks : { 206 _arrPositionTracks : {
206 value: [] 207 value: []
@@ -213,7 +214,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
213 set: function(newVal) { 214 set: function(newVal) {
214 this._arrPositionTracks = newVal; 215 this._arrPositionTracks = newVal;
215 this.trackData.arrPositionTracks = newVal; 216 this.trackData.arrPositionTracks = newVal;
216 217
217 } 218 }
218 }, 219 },
219 _positionTracksRepetition: { 220 _positionTracksRepetition: {
@@ -495,7 +496,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
495 } 496 }
496 } 497 }
497 }, 498 },
498 499
499 _setDataTimestamp : { 500 _setDataTimestamp : {
500 value: false 501 value: false
501 }, 502 },
@@ -533,7 +534,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
533 tempData.bypassAnimation = this.bypassAnimation; 534 tempData.bypassAnimation = this.bypassAnimation;
534 tempData.trackID = this.layerID; 535 tempData.trackID = this.layerID;
535 tempData.tweens = this.tweens; 536 tempData.tweens = this.tweens;
536 tempData.animatedElement = this.animatedElement; 537 tempData.animatedElement = this.animatedElement;
537 tempData.arrStyleTracks = this.arrStyleTracks; 538 tempData.arrStyleTracks = this.arrStyleTracks;
538 tempData.arrPositionTracks = this.arrPositionTracks; 539 tempData.arrPositionTracks = this.arrPositionTracks;
539 tempData.isTrackAnimated = this.isTrackAnimated; 540 tempData.isTrackAnimated = this.isTrackAnimated;
@@ -549,7 +550,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
549 this.trackData = tempData; 550 this.trackData = tempData;
550 } 551 }
551 }, 552 },
552 553
553 // Data binding observation point and trigger method 554 // Data binding observation point and trigger method
554 _bindingPoint : { 555 _bindingPoint : {
555 value : {} 556 value : {}
@@ -565,7 +566,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
565 } 566 }
566 } 567 }
567 }, 568 },
568 569
569 triggerOutgoingBinding : { 570 triggerOutgoingBinding : {
570 value: function() { 571 value: function() {
571 this.trackData.triggerBinding = !this.trackData.triggerBinding; 572 this.trackData.triggerBinding = !this.trackData.triggerBinding;
@@ -578,8 +579,8 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
578 this.ninjaStylesContoller = this.application.ninja.stylesController; 579 this.ninjaStylesContoller = this.application.ninja.stylesController;
579 this.element.addEventListener("click", this, false); 580 this.element.addEventListener("click", this, false);
580 this.eventManager.addEventListener("tlZoomSlider", this, false); 581 this.eventManager.addEventListener("tlZoomSlider", this, false);
581 582
582 // Drag and Drop event handlers 583 // Drag and Drop event handlers
583 //this.element.addEventListener("dragover", this.handleKeyframeDragover.bind(this), false); 584 //this.element.addEventListener("dragover", this.handleKeyframeDragover.bind(this), false);
584 this.element.addEventListener("dragstart", this.handleKeyframeDragstart.bind(this), false); 585 this.element.addEventListener("dragstart", this.handleKeyframeDragstart.bind(this), false);
585 this.element.addEventListener("dragend", this.handleKeyframeDragend.bind(this), false); 586 this.element.addEventListener("dragend", this.handleKeyframeDragend.bind(this), false);
@@ -647,9 +648,9 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
647 } 648 }
648 } 649 }
649 } 650 }
650 651
651 if (this._isFirstDraw === true) { 652 if (this._isFirstDraw === true) {
652 653
653 if (this.isMainCollapsed === false) { 654 if (this.isMainCollapsed === false) {
654 this._mainCollapser.myContent.style.height = "auto"; 655 this._mainCollapser.myContent.style.height = "auto";
655 this._mainCollapser.myContent.classList.remove(this._mainCollapser.collapsedClass); 656 this._mainCollapser.myContent.classList.remove(this._mainCollapser.collapsedClass);
@@ -672,19 +673,19 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
672 } 673 }
673 this._isFirstDraw = false; 674 this._isFirstDraw = false;
674 } 675 }
675 676
676 } 677 }
677 }, 678 },
678 679
679 handleTlZoomSlider: { 680 handleTlZoomSlider: {
680 value: function(event) { 681 value: function(event) {
681 682
682 var currentMilliSecPerPixel , currentMilliSec , clickPos,thingToPush; 683 var currentMilliSecPerPixel , currentMilliSec , clickPos,thingToPush;
683 var i = 0, 684 var i = 0,
684 tweensLength = this.tweens.length; 685 tweensLength = this.tweens.length;
685 686
686 for (i = 0; i < tweensLength; i++) { 687 for (i = 0; i < tweensLength; i++) {
687 688
688 if (i === 0) { 689 if (i === 0) {
689 // Exception: 0th item does not depend on anything 690 // Exception: 0th item does not depend on anything
690 // TODO: If 0th tween is draggable, this will need to be fixed. 691 // TODO: If 0th tween is draggable, this will need to be fixed.
@@ -692,7 +693,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
692 this.tweens[i].tweenData.spanPosition=0; 693 this.tweens[i].tweenData.spanPosition=0;
693 this.tweens[i].tweenData.keyFramePosition=0; 694 this.tweens[i].tweenData.keyFramePosition=0;
694 this.tweens[i].tweenData.keyFrameMillisec=0; 695 this.tweens[i].tweenData.keyFrameMillisec=0;
695 696
696 } else { 697 } else {
697 var prevKeyFramePosition = this.tweens[i - 1].tweenData.keyFramePosition, 698