aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js307
1 files changed, 0 insertions, 307 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js b/contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js
deleted file mode 100644
index d18a908..0000000
--- a/contexts/data/lib/closure-library/closure/goog/fx/animationqueue.js
+++ /dev/null
@@ -1,307 +0,0 @@
-// Copyright 2007 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview A class which automatically plays through a queue of
- * animations. AnimationParallelQueue and AnimationSerialQueue provide
- * specific implementations of the abstract class AnimationQueue.
- *
- * @see ../demos/animationqueue.html
- */
-
-goog.provide('goog.fx.AnimationParallelQueue');
-goog.provide('goog.fx.AnimationQueue');
-goog.provide('goog.fx.AnimationSerialQueue');
-
-goog.require('goog.array');
-goog.require('goog.asserts');
-goog.require('goog.events.EventHandler');
-goog.require('goog.fx.Transition.EventType');
-goog.require('goog.fx.TransitionBase');
-goog.require('goog.fx.TransitionBase.State');
-
-
-
-/**
- * Constructor for AnimationQueue object.
- *
- * @constructor
- * @extends {goog.fx.TransitionBase}
- */
-goog.fx.AnimationQueue = function() {
- goog.base(this);
-
- /**
- * An array holding all animations in the queue.
- * @type {Array.<goog.fx.TransitionBase>}
- * @protected
- */
- this.queue = [];
-};
-goog.inherits(goog.fx.AnimationQueue, goog.fx.TransitionBase);
-
-
-/**
- * Pushes an Animation to the end of the queue.
- * @param {goog.fx.TransitionBase} animation The animation to add to the queue.
- */
-goog.fx.AnimationQueue.prototype.add = function(animation) {
- goog.asserts.assert(this.isStopped(),
- 'Not allowed to add animations to a running animation queue.');
-
- if (goog.array.contains(this.queue, animation)) {
- return;
- }
-
- this.queue.push(animation);
- goog.events.listen(animation, goog.fx.Transition.EventType.FINISH,
- this.onAnimationFinish, false, this);
-};
-
-
-/**
- * Removes an Animation from the queue.
- * @param {goog.fx.Animation} animation The animation to remove.
- */
-goog.fx.AnimationQueue.prototype.remove = function(animation) {
- goog.asserts.assert(this.isStopped(),
- 'Not allowed to remove animations from a running animation queue.');
-
- if (goog.array.remove(this.queue, animation)) {
- goog.events.unlisten(animation, goog.fx.Transition.EventType.FINISH,
- this.onAnimationFinish, false, this);
- }
-};
-
-
-/**
- * Handles the event that an animation has finished.
- * @param {goog.events.Event} e The finishing event.
- * @protected
- */
-goog.fx.AnimationQueue.prototype.onAnimationFinish = goog.abstractMethod;
-
-
-/**
- * Disposes of the animations.
- * @override
- */
-goog.fx.AnimationQueue.prototype.disposeInternal = function() {
- goog.array.forEach(this.queue, function(animation) {
- animation.dispose();
- });
- this.queue.length = 0;
-
- goog.base(this, 'disposeInternal');
-};
-
-
-
-/**
- * Constructor for AnimationParallelQueue object.
- * @constructor
- * @extends {goog.fx.AnimationQueue}
- */
-goog.fx.AnimationParallelQueue = function() {
- goog.base(this);
-
- /**
- * Number of finished animations.
- * @type {number}
- * @private
- */
- this.finishedCounter_ = 0;
-};
-goog.inherits(goog.fx.AnimationParallelQueue, goog.fx.AnimationQueue);
-
-
-/** @inheritDoc */
-goog.fx.AnimationParallelQueue.prototype.play = function(opt_restart) {
- if (this.queue.length == 0) {
- return false;
- }
-
- if (opt_restart || this.isStopped()) {
- this.finishedCounter_ = 0;
- this.onBegin();
- } else if (this.isPlaying()) {
- return false;
- }
-
- this.onPlay();
- if (this.isPaused()) {
- this.onResume();
- }
- var resuming = this.isPaused() && !opt_restart;
-
- this.startTime = goog.now();
- this.endTime = null;
- this.setStatePlaying();
-
- goog.array.forEach(this.queue, function(anim) {
- if (!resuming || anim.isPaused()) {
- anim.play(opt_restart);
- }
- });
-
- return true;
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationParallelQueue.prototype.pause = function() {
- if (this.isPlaying()) {
- goog.array.forEach(this.queue, function(anim) {
- if (anim.isPlaying()) {
- anim.pause();
- }
- });
-
- this.setStatePaused();
- this.onPause();
- }
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationParallelQueue.prototype.stop = function(opt_gotoEnd) {
- goog.array.forEach(this.queue, function(anim) {
- if (!anim.isStopped()) {
- anim.stop(opt_gotoEnd);
- }
- });
-
- this.setStateStopped();
- this.endTime = goog.now();
-
- this.onStop();
- this.onEnd();
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationParallelQueue.prototype.onAnimationFinish = function(e) {
- this.finishedCounter_++;
- if (this.finishedCounter_ == this.queue.length) {
- this.endTime = goog.now();
-
- this.setStateStopped();
-
- this.onFinish();
- this.onEnd();
- }
-};
-
-
-
-/**
- * Constructor for AnimationSerialQueue object.
- * @constructor
- * @extends {goog.fx.AnimationQueue}
- */
-goog.fx.AnimationSerialQueue = function() {
- goog.base(this);
-
- /**
- * Current animation in queue currently active.
- * @type {number}
- * @private
- */
- this.current_ = 0;
-};
-goog.inherits(goog.fx.AnimationSerialQueue, goog.fx.AnimationQueue);
-
-
-/** @inheritDoc */
-goog.fx.AnimationSerialQueue.prototype.play = function(opt_restart) {
- if (this.queue.length == 0) {
- return false;
- }
-
- if (opt_restart || this.isStopped()) {
- if (this.current_ < this.queue.length &&
- !this.queue[this.current_].isStopped()) {
- this.queue[this.current_].stop(false);
- }
-
- this.current_ = 0;
- this.onBegin();
- } else if (this.isPlaying()) {
- return false;
- }
-
- this.onPlay();
- if (this.isPaused()) {
- this.onResume();
- }
-
- this.startTime = goog.now();
- this.endTime = null;
- this.setStatePlaying();
-
- this.queue[this.current_].play(opt_restart);
-
- return true;
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationSerialQueue.prototype.pause = function() {
- if (this.isPlaying()) {
- this.queue[this.current_].pause();
- this.setStatePaused();
- this.onPause();
- }
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationSerialQueue.prototype.stop = function(opt_gotoEnd) {
- this.setStateStopped();
- this.endTime = goog.now();
-
- if (opt_gotoEnd) {
- for (var i = this.current_; i < this.queue.length; ++i) {
- var anim = this.queue[i];
- // If the animation is stopped, start it to initiate rendering. This
- // might be needed to make the next line work.
- if (anim.isStopped()) anim.play();
- // If the animation is not done, stop it and go to the end state of the
- // animation.
- if (!anim.isStopped()) anim.stop(true);
- }
- } else if (this.current_ < this.queue.length) {
- this.queue[this.current_].stop(false);
- }
-
- this.onStop();
- this.onEnd();
-};
-
-
-/** @inheritDoc */
-goog.fx.AnimationSerialQueue.prototype.onAnimationFinish = function(e) {
- if (this.isPlaying()) {
- this.current_++;
- if (this.current_ < this.queue.length) {
- this.queue[this.current_].play();
- } else {
- this.endTime = goog.now();
- this.setStateStopped();
-
- this.onFinish();
- this.onEnd();
- }
- }
-};