actuate
Version:
Actuate is a flexible, fast "tween" library for animations
255 lines (238 loc) • 7.61 kB
JavaScript
// Class: motion.Actuate
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../hxClasses_stub").default;
var $import = require("./../import_stub").default;
function motion_actuators_SimpleActuator() {return require("./../motion/actuators/SimpleActuator");}
function motion_easing_Expo() {return require("./../motion/easing/Expo");}
function haxe_ds_ObjectMap() {return require("./../haxe/ds/ObjectMap");}
function Type() {return require("./../Type");}
function motion__$Actuate_EffectsOptions() {return require("./../motion/_Actuate/EffectsOptions");}
function motion_actuators_MotionPathActuator() {return require("./../motion/actuators/MotionPathActuator");}
function Std() {return require("./../Std");}
function motion_actuators_IGenericActuator() {return require("./../motion/actuators/IGenericActuator");}
function Reflect() {return require("./../Reflect");}
function js_Boot() {return require("./../js/Boot");}
function motion__$Actuate_TweenTimer() {return require("./../motion/_Actuate/TweenTimer");}
function motion__$Actuate_TransformOptions() {return require("./../motion/_Actuate/TransformOptions");}
function HxOverrides() {return require("./../HxOverrides");}
function motion_actuators_MethodActuator() {return require("./../motion/actuators/MethodActuator");}
// Constructor
var Actuate = function(){}
// Meta
Actuate.__name__ = ["motion","Actuate"];
Actuate.__isInterface__ = false;
Actuate.prototype = {
};
Actuate.prototype.__class__ = Actuate.prototype.constructor = $hxClasses["motion.Actuate"] = Actuate;
// Init
// Statics
Actuate.apply = function(target,properties,customActuator) {
Actuate.stop(target,properties);
if(customActuator == null) {
customActuator = Actuate.defaultActuator;
}
var actuator = (Type().default).createInstance(customActuator,[target,0,properties]);
actuator.apply();
return actuator;
}
Actuate.effects = function(target,duration,overwrite) {
if(overwrite == null) {
overwrite = true;
}
return new (motion__$Actuate_EffectsOptions().default)(target,duration,overwrite);
}
Actuate.getLibrary = function(target,allowCreation) {
if(allowCreation == null) {
allowCreation = true;
}
if(!Actuate.targetLibraries.exists(target) && allowCreation) {
Actuate.targetLibraries.set(target,[]);
}
return Actuate.targetLibraries.get(target);
}
Actuate.isActive = function() {
var result = false;
var library = Actuate.targetLibraries.iterator();
while(library.hasNext()) {
var library1 = library.next();
result = true;
break;
}
return result;
}
Actuate.motionPath = function(target,duration,properties,overwrite) {
if(overwrite == null) {
overwrite = true;
}
return Actuate.tween(target,duration,properties,overwrite,(motion_actuators_MotionPathActuator().default));
}
Actuate.pause = function(target) {
if((Std().default)["is"](target,(motion_actuators_IGenericActuator().default))) {
var actuator = target;
actuator.pause();
} else {
var library = Actuate.getLibrary(target,false);
if(library != null) {
var _g = 0;
while(_g < library.length) {
var actuator1 = library[_g];
++_g;
actuator1.pause();
}
}
}
}
Actuate.pauseAll = function() {
var library = Actuate.targetLibraries.iterator();
while(library.hasNext()) {
var library1 = library.next();
var _g = 0;
while(_g < library1.length) {
var actuator = library1[_g];
++_g;
actuator.pause();
}
}
}
Actuate.reset = function() {
var library = Actuate.targetLibraries.iterator();
while(library.hasNext()) {
var library1 = library.next();
var i = library1.length - 1;
while(i >= 0) {
library1[i].stop(null,false,false);
--i;
}
}
Actuate.targetLibraries = new (haxe_ds_ObjectMap().default)();
}
Actuate.resume = function(target) {
if((Std().default)["is"](target,(motion_actuators_IGenericActuator().default))) {
var actuator = target;
actuator.resume();
} else {
var library = Actuate.getLibrary(target,false);
if(library != null) {
var _g = 0;
while(_g < library.length) {
var actuator1 = library[_g];
++_g;
actuator1.resume();
}
}
}
}
Actuate.resumeAll = function() {
var library = Actuate.targetLibraries.iterator();
while(library.hasNext()) {
var library1 = library.next();
var _g = 0;
while(_g < library1.length) {
var actuator = library1[_g];
++_g;
actuator.resume();
}
}
}
Actuate.stop = function(target,properties,complete,sendEvent) {
if(sendEvent == null) {
sendEvent = true;
}
if(complete == null) {
complete = false;
}
if(target != null) {
if((Std().default)["is"](target,(motion_actuators_IGenericActuator().default))) {
var actuator = target;
actuator.stop(null,complete,sendEvent);
} else {
var library = Actuate.getLibrary(target,false);
if(library != null) {
if(typeof(properties) == "string") {
var temp = { };
(Reflect().default).setField(temp,properties,null);
properties = temp;
} else if((properties instanceof Array) && properties.__enum__ == null) {
var temp1 = { };
var _g = 0;
var _g1 = (js_Boot().default).__cast(properties , Array);
while(_g < _g1.length) {
var property = _g1[_g];
++_g;
(Reflect().default).setField(temp1,property,null);
}
properties = temp1;
}
var i = library.length - 1;
while(i >= 0) {
library[i].stop(properties,complete,sendEvent);
--i;
}
}
}
}
}
Actuate.timer = function(duration,customActuator) {
return Actuate.tween(new (motion__$Actuate_TweenTimer().default)(0),duration,new (motion__$Actuate_TweenTimer().default)(1),false,customActuator);
}
Actuate.transform = function(target,duration,overwrite) {
if(overwrite == null) {
overwrite = true;
}
if(duration == null) {
duration = 0;
}
return new (motion__$Actuate_TransformOptions().default)(target,duration,overwrite);
}
Actuate.tween = function(target,duration,properties,overwrite,customActuator) {
if(overwrite == null) {
overwrite = true;
}
if(target != null) {
if(duration > 0) {
if(customActuator == null) {
customActuator = Actuate.defaultActuator;
}
var actuator = (Type().default).createInstance(customActuator,[target,duration,properties]);
var library = Actuate.getLibrary(actuator.target);
if(overwrite) {
var i = library.length - 1;
while(i >= 0) {
library[i].stop(actuator.properties,false,false);
--i;
}
library = Actuate.getLibrary(actuator.target);
}
library.push(actuator);
actuator.move();
return actuator;
} else {
return Actuate.apply(target,properties,customActuator);
}
}
return null;
}
Actuate.unload = function(actuator) {
var target = actuator.target;
if(Actuate.targetLibraries.exists(target)) {
(HxOverrides().default).remove(Actuate.targetLibraries.get(target),actuator);
if(Actuate.targetLibraries.get(target).length == 0) {
Actuate.targetLibraries.remove(target);
}
}
}
Actuate.update = function(target,duration,start,end,overwrite) {
if(overwrite == null) {
overwrite = true;
}
var properties = { start : start, end : end};
return Actuate.tween(target,duration,properties,overwrite,(motion_actuators_MethodActuator().default));
}
Actuate.defaultActuator = (motion_actuators_SimpleActuator().default)
Actuate.defaultEase = (motion_easing_Expo().default).easeOut
Actuate.targetLibraries = new (haxe_ds_ObjectMap().default)()
// Export
exports.default = Actuate;